<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Gijs Nelissen / Lifelog - All blog posts]]></title><description><![CDATA[All of my long-form thoughts on programming, leadership, product design, and more, collected in chronological order.]]></description><link>undefined</link><image><url>https://www.lifelog.be/images/avatar.jpeg</url><title>Gijs Nelissen / Lifelog - All blog posts</title><link>undefined</link></image><generator>RSS for Node</generator><lastBuildDate>Sun, 08 Mar 2026 04:53:02 GMT</lastBuildDate><atom:link href="undefined/rss.xml" rel="self" type="application/rss+xml"/><item><title><![CDATA[How PR firms are trading their authority for a quick buck]]></title><description><![CDATA[<div class="ContentRenderer_renderer__tPJbs"><section class="prezly-slate-document" data-version="0.50"><h2> </h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">As a responsible consumer, If you want to buy a product or service, where do you do your research? You might ask your friends and family, or check TikTok and Twitter. However, if you&#x27;re like the <a class="prezly-slate-link" href="https://blog.hubspot.com/marketing/how-consumers-learn-about-products" target="_blank" rel="noreferrer"><u>majority of people</u></a>, you&#x27;ll likely look to a search engine first.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">As you should, right? Google is, for the time being, the premiere repository of all human knowledge. From a simple search query, you can discover top ten lists, blog posts, reviews, and more. These carefully ranked results are supposedly laid out by Google&#x27;s powerful algorithm that determines E-E-A-T (Experience, Expertise, Authoritativeness, and Trustworthiness).</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">75% of consumers in a <a class="prezly-slate-link" href="https://www.brightlocal.com/research/local-consumer-review-survey/" target="_self"><u>2024 study</u></a> report using online reviews &quot;regularly&quot; or &quot;always&quot; when researching local businesses, and 81% of respondents indicate that they use Google to find local reviews. Google research has become an integral part of most of our daily lives and decision-making. Search-based consumer research has worked for years and will likely continue to benefit consumers for the foreseeable future. Right?</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Well, maybe not.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">This system is deteriorating rapidly before our eyes. Let&#x27;s discuss why it&#x27;s collapsing, who is to blame, and how we can adapt to protect ourselves and our wallets.</p><h2><strong>Affiliate marketing: what went wrong</strong></h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Before pointing fingers and assigning blame, let&#x27;s take a step back and look at <em>affiliate marketing</em>. Essentially, affiliate marketing is a way for brands and marketplaces to incentivize content creators to share their products and platforms. The concept behind affiliate marketing was a good one. It went a little something like this:</p><ol class="prezly-slate-list prezly-slate-list--numbered prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Consumers need well-researched, objective information about the goods and services they&#x27;re interested in buying, but they don&#x27;t have the time to purchase and test every single item or service.</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Bloggers, journalists, and content creators fill this need for consumer research by building a livelihood and a reputation for providing insights and reviews based on their established niche. Examples include software enthusiasts, mommy bloggers, travel hackers, etc.</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Companies and marketplaces provide a light incentive for content creators to mention or review their products through affiliate links.</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Reviewers and creators fund their continued work through these affiliate programs. The more successful they are and the bigger their audience, the more commission they get from the links.</span></li></ol><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Now, it&#x27;s easy to see how the system could be manipulated. Who stops the content creators from explicitly and only reviewing products they get paid for? And what if the &quot;best&quot; products don&#x27;t provide affiliate links? Does this preclude their products or services from getting mentioned in the supposed &quot;top&quot; lists? The affiliate marketing system incentivizes reviewers to promote the most lucrative affiliate products, not necessarily the most high-quality ones.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">The only real safeguard to prevent this from happening is one thing: <strong>reputation</strong>. Journalists, bloggers, and content creators who want to continue doing what they&#x27;re doing for the long term have to make sure they&#x27;re not recommending garbage to their audiences. People don&#x27;t like being manipulated out of their money, and they will gladly turn on even a beloved creator who greedily shills low-quality products.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">The system has a decent self-correcting mechanism. Affiliate links can—and do—get abused, but those who abuse them often tarnish their reputation and rarely become successful in whatever niche they are pursuing. They get called out by audiences for being money-grubbing and disingenuous, quickly losing relevance and credibility.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">The real problem comes when media outlets start getting involved and leveraging their own powerful, long-standing brand identity to co-sign and host lecherous affiliate linking techniques. Unfortunately, almost all of them have begun doing this.</p><h2><strong>The sketchy ad practices</strong></h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">I&#x27;ve <a class="prezly-slate-link" href="https://www.lifelog.be/media-monetisation-is-making-us-stupid" target="_self"><u>written at length</u></a> about how legacy media outlets are either dying or have to shift focus away from actual journalism in order to survive. Ads are ruining the user experience for many legacy media outlets, and they constantly have to cut corners. Many news outlets are trying to get creative and diversify their revenue streams, including affiliate marketing.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Again, this isn&#x27;t an inherently bad thing. Including a link to an Amazon listing of a product you&#x27;re already mentioning anyway isn&#x27;t going to massively disrupt or harm anyone. The newspaper gets a little bit of revenue, the reader gets a convenient link to a product they might already be interested in, and everybody wins.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Unfortunately, more and more local and global media outlets are taking this too far. They are leveraging the one thing they have, brand recognition and established authoritativeness, and turning it into a way to sell products and services they have no intention of adequately vetting under the guise of &quot;self-sponsored posts&quot; and advertorials.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">These outlets, alongside sketchy &quot;digital PR&quot; companies, are working together to trick consumers into assuming they&#x27;re reading an article from a trusted, journalistic source, but they&#x27;re actually reading an opaque, unscrupulous ad.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Here&#x27;s how it works: a marketing or PR firm representing a company approaches a local or global news outlet to write a sponsored post. The marketers pay for the space (benefitting the outlet) and provide the content. The content includes opportunistically placed brand mentions and affiliate links (benefitting the marketing/PR team). The only people who don&#x27;t benefit? The consumers who have no idea they just read a 2,000 word ad.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Because that&#x27;s the thing: when you read a news article, you expect there to <em><strong>be</strong></em> ads, maybe in the form of a popup or a sidebar, not for the article to <em><strong>be the ad</strong></em>. Sure, many of the articles have a real-sounding title, are written by a real-sounding person, and may even have an affiliate disclosure somewhere in tiny print.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">But when you, as a consumer, go looking for product reviews and information, do you expect to have to research the author and their credentials and read every single line of tiny text? Or do you go into the experience assuming the media outlet will have integrity? Especially when you purposely seek out that media outlet based on brand recognition and respect for the institution.</p><h2><strong>How SEO plays a role</strong></h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">All of this begs the question: What happened to traditional advertisements? Why don&#x27;t companies buy ad space on Google or the news outlets themselves? Well, the simple answer is that people don&#x27;t trust advertisements. The average person&#x27;s eyes glaze over an ad, thanks to the fact that we all see <a class="prezly-slate-link" href="https://frictionless-commerce.com/blog/how-many-ads-do-we-see-in-a-day/" target="_self"><u>hundreds of ads</u></a> per day.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Additionally, we&#x27;re conditioned to see a &quot;sponsored&quot; tag on the link and not trust it because advertisers have no incentive to be honest. Advertisements can lie to you, and nobody stops them; thus, nobody trusts them. So, instead, marketers and brands are choosing the indirect route by leveraging media outlets to obfuscate the pay-to-play nature of what they&#x27;re doing. So, more lies.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Which is fine; that&#x27;s their choice. Outlets and digital marketers can choose to go this route and damage their credibility in the process. But we also need to consider how SEO plays a role in this. Google ranks legacy media outlets highly based on brand recognition and factors like established Domain Authority.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">However, Google doesn&#x27;t seem to differentiate self-sponsored &quot;ad&quot; posts from actual, credible journalism. They&#x27;re effectively highly-ranking cheap advertorial posts like they&#x27;d rank a breaking news story, just because they&#x27;re being published on the same media outlet. So now, when you use Google to do research, you&#x27;re getting fed with actual ads in the form of sponsored and paid-for advertisements—but then the bona fide first-page results that you&#x27;ve come to know and trust? Also ads.</p><h2><strong>The long-term damage to journalistic reputation</strong></h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Alright, maybe one of these digital marketing companies published a sponsored post in your favorite digital newspaper and got you to buy a product that you assumed would be reputable based on it being, you know, listed in Forbes or Business Insider. It wasn’t, you wasted a bit of money, and there’s not much you can do about it. Big deal, who cares, right?</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Well, we all should. Remember back at the beginning when we talked about why affiliate links work, and that&#x27;s because content creators don&#x27;t want to destroy their reputation by selling their audiences garbage? More and more consumers are catching onto these &quot;<a class="prezly-slate-link" href="https://www.youtube.com/watch?v=FrqVe7Rg454" target="_self"><u>parasite SEO</u></a>&quot; practices. Soon, the fact that a product is listed in CNN or the Wall Street Journal could no longer mean anything.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Media outlets are playing the short game. They are staying afloat in the interim while doing massive harm to their reputation. You can only burn consumers once or twice before they stop trusting you or your outlet to give credible information. These legacy and local newspapers are banking on the idea that their readers are ignorant of their sketchy practices. But they&#x27;re failing to consider that the younger generations <a class="prezly-slate-link" href="https://news.gallup.com/opinion/gallup/510395/gen-voices-lackluster-trust-major-institutions.aspx" target="_self"><u>no longer trust them</u></a> and they have nobody to blame but themselves.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">It&#x27;s not just the media outlets that must be held accountable for these sketchy parasitic practices. The digital marketers and public relations firms that engage in them also need to be held responsible. They&#x27;re also garnering a reputation as sketchy corner-cutters who are more concerned about a quick dollar and less about building relationships with the public on behalf of their brands and clients.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">The search engines should be aware that consumers are starting to catch on and they should adjust their algorithms accordingly. As artificial intelligence grows and Google faces a disastrous blow to its ad revenue through generative AI search results, they&#x27;re not doing themselves any favors by religiously linking to legacy media outlets that auction off their reputation to the highest (affiliate) bidder.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">If you can&#x27;t trust Google results, why not just search on Open AI? Or TikTok? Or go straight to Amazon and read the reviews? Some companies think they are too big to fail and think their consumers are too dumb to notice. But I don&#x27;t believe either of those things are true, and <a class="prezly-slate-link" href="https://www.pewresearch.org/short-reads/2022/10/27/u-s-adults-under-30-now-trust-information-from-social-media-almost-as-much-as-from-national-news-outlets/" target="_self"><u>the data shows</u></a> that consumers are getting tired of it.</p><h2><strong>What consumers can do to combat parasite SEO practices</strong></h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Staying informed is the best thing we can do as active and engaged consumers. It&#x27;s not enough to search &quot;top VPN in 2024&quot; or &quot;<a class="prezly-slate-link" href="https://www.prezly.com/" target="_self"><u>top PR software</u></a>.&quot; We have to dig deeper and do more thorough research.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">This can involve reading actual consumer reviews on websites like TrustPilot and G2 and checking thoroughly for &quot;sponsored&quot; or &quot;affiliate&quot; disclosures. We must also research the author and see who they&#x27;re writing for and why. Following the money is always a good way to determine whether you can trust them or not.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">And lastly, as consumers, we should give back to the systems that empower us. We need to write reviews and help others in the same way that their reviews help us. Give brutally honest—but fair—feedback about products and services. Reach out to companies and let them know what improvements you&#x27;d like to see. And if you&#x27;re disgusted by the parasitic nature of your favorite publication using this sketchy form of SEO, let them know directly, or indirectly by no longer supporting them.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p></section></div>]]></description><link>undefined/how-pr-firms-are-trading-their-authority-for-a-quick-buck</link><guid isPermaLink="true">undefined/how-pr-firms-are-trading-their-authority-for-a-quick-buck</guid><pubDate>Mon, 22 Jul 2024 09:33:00 GMT</pubDate></item><item><title><![CDATA[It's 2024, and it's still hard to cancel your news subscription]]></title><description><![CDATA[<link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/1506a377-100f-4adb-a92a-142ec8bff168/-/resize/1200/-/format/auto/Untitled.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/e4c0412d-ff44-4851-8d27-bc46a6281160/-/resize/1200/-/format/auto/pasted%20image%200.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/463d0aa9-8e02-4125-8eb2-cff3e1fccf48/-/resize/1200/-/format/auto/Screenshot%20at%20February%20%2026%20-%20001766%402x.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/d1a595c1-8c82-4f62-a92c-195b4cf2fa5d/-/resize/1200/-/format/auto/Screenshot%20at%20February%20%2026%20-%20001765%402x.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/5a8ee3fd-516b-47c0-9431-7c1b0f5441d8/-/resize/1200/-/format/auto/Screenshot%20at%20February%20%2026%20-%20001764%402x.png"/><div class="ContentRenderer_renderer__tPJbs"><section class="prezly-slate-document" data-version="0.50"><h2> </h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">It’s no shock to anyone that we’re in the age of subscriptions. Our entire world has been Netflixified, with every service wanting a piece of the action. The average person in 2020 had a baffling <a class="prezly-slate-link" href="https://www.cnbc.com/2022/06/02/consumers-spend-133-more-monthly-on-subscriptions-than-they-realize.html" target="_self"><u>twelve subscriptions each</u></a>, with this number only continuing to rise. </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Gone are the days when you could just buy a video game, rent a movie, or purchase a piece of software. No, instead, you have to <em>subscribe</em>. Now, I hear you shouting at whatever screen you’re looking at, <em>“Aren’t you the co-founder of a software that bills its customers monthly?!”</em> </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">And, to be fully transparent, yes. However, you can criticise a system while still being entrenched in it (at least, that’s what I tell myself so I can sleep at night). But you know what we don’t do at Prezly? Make it really freaking annoying to cancel our service.</p><h2><strong>People are dumping their news subscriptions – here’s why</strong></h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">I’ve <a class="prezly-slate-link" href="https://www.lifelog.be/media-monetisation-is-making-us-stupid" target="_self"><u>written previously</u></a> about how newsrooms worldwide are closing down left and right. This is partly because ad revenue is not lucrative enough to sustain operational costs despite having egregiously obnoxious ad placements. </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">I mean, just look at this shit (and this is <em>Forbes</em>):</p><img src="https://cdn.uc.assets.prezly.com/1506a377-100f-4adb-a92a-142ec8bff168/-/resize/1200/-/format/auto/Untitled.png" alt="Image"/><figcaption>Forbes news article</figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">But the other part? People are rapidly cancelling their subscriptions, which media corporations desperately rely on to supplement ad revenue and create a consistent income stream. For example, just in the United States alone, digital and print media subscriptions have dramatically decreased in the past two decades, according to the <a class="prezly-slate-link" href="https://www.pewresearch.org/short-reads/2023/11/28/audiences-are-declining-for-traditional-news-media-in-the-us-with-some-exceptions/" target="_self"><u>Pew Research Center</u></a>. Daily newspaper subscriptions that were once in the lofty 60 millions are now at an abysmal 20.9 million.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"><strong>Just some of the reasons people cancel their services include:</strong></p><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><strong>Increasing costs</strong> – Subscriptions for newspapers and magazines have skyrocketed, like the<a class="prezly-slate-link" href="https://pressgazette.co.uk/media-audience-and-business-data/digital-news-subscriptions-cost-2024/" target="_self"> <u>19% price increase</u></a> in UK digital news subscriptions since last year. ​ With the economic downturn, the average person has significantly less spending power to invest in unnecessary purchases like paid media, especially when they can get a lot of the same information faster and for free through social media (though you could argue you do pay for this with your attention and soul).</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><strong>Declining quality</strong> – With newsrooms cutting budgets,<a class="prezly-slate-link" href="https://www.pewresearch.org/short-reads/2021/07/13/u-s-newsroom-employment-has-fallen-26-since-2008/" target="_self"> <u>there are fewer journalists</u></a>, and the remaining ones are often expected to do more work for less money. Readers now have significantly decreased access to high-quality local news and deep investigative research stories, while publishers simply <a class="prezly-slate-link" href="https://www.linkedin.com/feed/update/urn:li:activity:7166557466007183360/" target="_self"><u>cannot afford to fund good journalism</u></a>.</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://en.wikipedia.org/wiki/Churnalism" target="_self"><u><strong>Churnalism</strong></u></a> – Many news stories just regurgitate other people’s news stories rather than carry out original research and investigation, largely thanks to the aforementioned budget cuts and the speed at which information moves these days. Media has become far more reactive than proactive in telling stories, both locally and globally.</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><strong>Too much pop culture</strong> – Digital news outlets don&#x27;t have the resources or bandwidth to post things that don&#x27;t have wide-reaching relevance or interest. This often means that they appeal to the lowest common denominator in the form of celebrity culture. Many news readers simply don&#x27;t care to pay for petty pop-culture drama.</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><strong>Media bias</strong> – Too many news outlets have become aggressively beholden to their stakeholder and <a class="prezly-slate-link" href="https://www.lifelog.be/the-history-of-media-monetisation" target="_self"><u>investor interests</u></a>. This bias seeps out in subtle and not-so-subtle ways, including what stories get told and the general slant of how information is imparted to readers. If you don&#x27;t happen to politically or socially align with that framing, it can be alienating, if not downright infuriating.</span></li></ul><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">And on and on. There are a million reasons why people are leaving their news subscription services. These cancellations are made even more interesting by the fact that news outlets are making it horrendously difficult to cancel. </p><h2><strong>Sometimes, cancelling isn’t so easy</strong></h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"><a class="prezly-slate-link" href="https://www.niemanlab.org/2021/03/most-u-s-news-organizations-still-wont-let-readers-cancel-their-subscriptions-online/" target="_self"><u>A 2021 media survey</u></a> found that only 41% of American news outlets allowed their subscribers to cancel online. The other 59% required jumping through hoops, often requiring subscribers to engage in some form of in-person contact. This typically entails a phone call or chat conversation where an aggressive salesperson does everything in their power to make sure you don&#x27;t cancel. They lob discounts, shame tactics, or other “customer retention” psychological hacks to keep people locked in and paying.</p><img src="https://cdn.uc.assets.prezly.com/e4c0412d-ff44-4851-8d27-bc46a6281160/-/resize/1200/-/format/auto/pasted%20image%200.png" alt="Image"/><figcaption> </figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">A<a class="prezly-slate-link" href="https://www.reddit.com/r/mildlyinfuriating/comments/16l37y5/companies_that_make_it_difficult_to_cancel_a/" target="_self"> <u>Redditor</u></a> complains about this practice:</p><blockquote class="prezly-slate-quote prezly-slate-quote--align-inherit"><em>Decided to cancel my New York Times subscription today and to do so you have to open a chat with a representative. Had to wait in a queue for several minutes to get one, then had to explain why I wanted to cancel my subscription and repeat that I wanted to cancel my subscription. At the end of all this, my subscription wasn’t even canceled, my “request is pending,” so I have to follow up again. Seems uncool that a company can make it this difficult for you to stop giving them money every month.</em></blockquote><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">So, after going through all the work of contacting somebody and explaining the situation, news services are deliberately making the process of cancelling slow, inconvenient, and annoying.</p><p><a href="https://twitter.com/velvet_shark/status/1760009771229511951 ">Radek | velvetshark.eth on Twitter / X</a></p><h2><strong>Why “dark patterns” are awful for media services</strong></h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">To be fair, difficult cancellations are not a problem unique to news subscription services. Plenty of other services, such as gyms and ISPs, make it difficult, too. It&#x27;s such an issue that governments are starting to get involved, such as the recent recommendation by the United States Federal Trade Commission to create mandatory<a class="prezly-slate-link" href="https://www.ftc.gov/news-events/news/press-releases/2023/03/federal-trade-commission-proposes-rule-provision-making-it-easier-consumers-click-cancel-recurring" target="_self"> <u>“click to cancel”</u></a> regulations and the European Union’s provisional<a class="prezly-slate-link" href="https://www.independent.ie/business/technology/eu-push-to-make-it-easier-to-cancel-online-subscriptions/41527938.html" target="_self"> <u>Digital Services Act</u></a>.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Until governing bodies get more proactive about solving this problem, it&#x27;s down to the consumers to navigate these infuriating cancellation systems. In the meantime, corporations, including news organisations, are making millions of dollars per year, banking (literally) on you getting so annoyed that you just give up trying to cancel. </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">And please don&#x27;t be mistaken – none of this is accidental. The inability to cancel subscriptions actually has a term: dark patterns or “deceptive design patterns”. </p><blockquote class="prezly-slate-quote prezly-slate-quote--align-inherit"><strong>dark pattern</strong> (also known as a &quot;deceptive <a class="prezly-slate-link" href="https://en.wikipedia.org/wiki/Design_pattern" target="_self">design pattern</a>&quot;) is &quot;a <a class="prezly-slate-link" href="https://en.wikipedia.org/wiki/User_interface" target="_self">user interface</a> that has been carefully crafted to trick users into doing things, such as buying overpriced insurance with their purchase or signing up for recurring bills&quot;.<a class="prezly-slate-link" href="https://en.wikipedia.org/wiki/Dark_pattern#cite_note-fastcode-1" target="_self"><sup>[1]</sup></a><a class="prezly-slate-link" href="https://en.wikipedia.org/wiki/Dark_pattern#cite_note-nytimes-2" target="_self"><sup>[2]</sup></a><a class="prezly-slate-link" href="https://en.wikipedia.org/wiki/Dark_pattern#cite_note-gizmodo-3" target="_self"><sup>[3]</sup></a> <a class="prezly-slate-link" href="https://en.wikipedia.org/wiki/User_experience_design" target="_self">User experience designer</a> Harry Brignull coined the <a class="prezly-slate-link" href="https://en.wikipedia.org/wiki/Neologism" target="_self">neologism</a> on 28 July 2010 with the registration of darkpatterns.org, a &quot;pattern library with the specific goal of naming and shaming deceptive user interfaces<br/>​<!-- -->​<br/>​<a class="prezly-slate-link" href="https://en.wikipedia.org/wiki/Dark_pattern" target="_blank" rel="noreferrer">Wikipedia - Dark Patterns</a></blockquote><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">And in the case of media services that means intentionally confusing user account settings, and, impossible-to-cancel subscription services.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Needless to say, consumers absolutely hate being tricked out of their money by sketchy business practices. It’s become such a loathed phenomenon that websites have even begun tracking atrocious examples of this specific type of<a class="prezly-slate-link" href="https://www.deceptive.design/hall-of-shame" target="_self"> <u>user manipulation</u></a>. </p><img src="https://cdn.uc.assets.prezly.com/463d0aa9-8e02-4125-8eb2-cff3e1fccf48/-/resize/1200/-/format/auto/Screenshot%20at%20February%20%2026%20-%20001766%402x.png" alt="Image"/><img src="https://cdn.uc.assets.prezly.com/d1a595c1-8c82-4f62-a92c-195b4cf2fa5d/-/resize/1200/-/format/auto/Screenshot%20at%20February%20%2026%20-%20001765%402x.png" alt="Image"/><img src="https://cdn.uc.assets.prezly.com/5a8ee3fd-516b-47c0-9431-7c1b0f5441d8/-/resize/1200/-/format/auto/Screenshot%20at%20February%20%2026%20-%20001764%402x.png" alt="Image"/><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">While you might expect dark patterns from dodgy mobile apps or other seedy services, it feels like a bit of a slap in the face when the world’s most prominent newspapers play these stupid cancellation games.</p><p><a href="https://twitter.com/grainneisbusy/status/1759571894771093717">Gráinne on Twitter / X</a></p><h2><strong>Dark patterns erode trust in the industry, and it has to stop</strong></h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Throughout much of its history, journalism has been a respected institution. At a time when<a class="prezly-slate-link" href="https://news.gallup.com/poll/512861/media-confidence-matches-2016-record-low.aspx" target="_self"> <u>trust in journalism is at an all-time low</u></a>, the last thing media outlets should be doing is trapping people in their subscriptions.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Media corporations using dark patterns are tacky. They’re manipulative. And while we can hope that some legislation will make this a thing of the past, it’s worth remembering the outlets that never stooped to this behavior even when it was all the rage – and those that did. </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p></section></div>]]></description><link>undefined/its-2024-and-its-still-hard-to-cancel-your-news-subscription</link><guid isPermaLink="true">undefined/its-2024-and-its-still-hard-to-cancel-your-news-subscription</guid><pubDate>Mon, 26 Feb 2024 19:57:00 GMT</pubDate></item><item><title><![CDATA[Media monetisation is making us stupid]]></title><description><![CDATA[<div class="ContentRenderer_renderer__tPJbs"><section class="prezly-slate-document" data-version="0.50"><h2> </h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">When print media started making the move to digital, newspapers were cautiously optimistic. The transition was inevitable as the internet became ubiquitous. It’s not like the newspapers could simply opt out of digitising. And who knows, maybe hosting the news online could prove to be a lucrative new revenue stream for the already thin-margined print media industry. Right?</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Wrong.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Text media monetisation has been an ongoing uphill battle for basically every single news outlet from the moment it started. Corners are being cut on a daily basis, and over 2,000 local newspapers<a class="prezly-slate-link" href="https://www.gao.gov/assets/gao-22-105405.pdf" target="_self"> <u>have entirely closed down</u></a> since 2000, just in the United States alone.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">As MIT researcher<a class="prezly-slate-link" href="https://www.forbes.com/sites/forbesbusinesscouncil/2022/03/11/digital-transformation-isnt-just-about-bits-and-bytes-its-about-people/?sh=2e8b1e743da8" target="_self"> <u>George Westerman</u></a> eloquently said, “When digital transformation is done right, it’s like a caterpillar turning into a butterfly, but when done wrong, all you have is a really fast caterpillar.”</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">The move online, which seemed so promising, has in actuality proved devastating for text media. So, what went wrong, and how is this catastrophic shift turning us all into idiots?</p><h2><strong>The future that almost was</strong></h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Back to that cautious optimism. The transition from print to digital was going to be such a great thing and provide a revitalising boost to the print media market. Journalists could cover stories faster, publish updates in real-time, send out quick corrections, and otherwise be far more nimble than print ever allowed.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Not to mention the obvious cost-saving aspects. Readers could access the exact same news without the high costs associated with producing, printing, and delivering physical newspapers.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Win–win, right?</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Right?</p><h1><strong>Why making money from text media is so difficult</strong></h1><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Before we can talk about the current tragic impacts of digital media on the average consumer, let&#x27;s first talk about what went wrong. Why are the remaining newspapers haemorrhaging money? The future looked so promising but took such a rapid nosedive.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Future economists will probably analyse the fall of the media to death because it is fascinating. This reductionist list will likely only scratch the surface of how this massive industry was crippled so quickly and utterly. But here are the main reasons media orgs fumbled the transition from print to digital.</p><h2><strong>Everything was free for too long</strong></h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Understandably, but a bit naively, newspapers made banner and on-page ads a big part of resolving their revenue gaps when physical paper subscriptions began to dwindle in the late 1990s. This makes sense in theory – readers paid for physical newspapers and still saw ample printed ads, so why would they take issue with <em><strong>free</strong></em> digital content… and a few ads?</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">So, they made everything accessible with the expectation that ads would generate revenue. Obviously, this blew up in their faces with the invention and rapid uptake of adblockers. Soon, media consumers were getting their cake and eating it too – all the news media at their fingertips with none of the pesky revenue generated for the media outlets whose print ads were also drying up at a fever pitch. </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Unfortunately, by this point, consumers were conditioned to get the news for free. Why would they suddenly start paying for something if they never had to before?</p><h2><strong>If you don&#x27;t give them the news, someone else will</strong></h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Eventually, many digital newspapers started going to the membership and subscription model. But this transition did not happen unilaterally (and still hasn’t, to be fair). Some newspapers began requiring a subscription, while others didn’t. Some allowed for a few “free” articles per month, making it possible for consumers to cobble together a media consumption diet around these restrictions while avoiding paying for anything. Paywalls, in addition, were often <a class="prezly-slate-link" href="https://www.cjr.org/business_of_news/news-paywalls-new-york-times-wall-street-journal.php" target="_self"><u>leaky</u></a> and easy to circumvent. </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Realistically, many of us find the news through search aggregates like Google News. If one source is blocking your ability to read the story, you could simply go to the next. This is great (albeit a little annoying) for consumers and bad for the media outlets, who expected consumers to be a bit more brand loyal than they turned out to be, particularly their younger readers.</p><h2><strong>Text is easy to copy</strong></h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Even if you get somebody to loyally subscribe to your newspaper, what stops them from simply copying the text and sharing it with friends, relatives, and internet strangers? You may be thinking, “When would this happen? When would someone actually take the time to copy and paste news text to other people enough for this to be a significant problem?”</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Well, Reddit, for starters.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Reddit is a massive discussion board for people to come together and anonymously analyse the day&#x27;s biggest stories (and everything else in existence). A user will post a link to a news article, and everyone will very politely and never aggressively present their perspective about said news article. This sort of distribution seems good for news outlets because it means clicks, views, and engagement.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">It isn’t.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Unfortunately, for convenience, the poster will often include the entire body of the linked article within their Reddit post. And, if there&#x27;s a paywall, someone who happens to have a legitimate subscription will copy and share the entire article with tens of thousands of people who otherwise would never have been able to read it without a subscription. This minor issue becomes a much bigger issue when you realise that Reddit on its own has <a class="prezly-slate-link" href="https://www.bankmycell.com/blog/number-of-reddit-users/" target="_self"><u>almost 56 million</u></a> daily active users.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Some news outlets have even taken to copyright-striking various Reddit communities,<a class="prezly-slate-link" href="https://www.reddit.com/r/ModSupport/comments/tepr1n/does_posting_entire_articles_hidden_behind_a/" target="_self"> <u>according to Redditors</u></a>, but it barely makes a dent in a much bigger problem (for the news outlets). And Reddit is just one very specific example of consumers copying paywalled text to general, non-paying audiences. </p><h2><strong>Nobody respects (or trusts) writers</strong></h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">So many people assume that because the majority of the population is functionally literate, anybody can be a writer or journalist. With the increasing popularity of AI tools, this sentiment is only rising. It doesn&#x27;t help that many writers and journalists take massive shortcuts and are essentially forced to cut corners to stay competitive, further eroding our collective respect for journalism.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">And even if the average person <em>did</em> respect the institution of journalism, they certainly don&#x27;t trust it. According to a 2022 Gallup poll, trust in the media is<a class="prezly-slate-link" href="https://news.gallup.com/poll/403166/americans-trust-media-remains-near-record-low.aspx" target="_self"> <u>incredibly low</u></a>. Only 7% of Americans interviewed actually held “a great deal” of confidence/trust in journalism to report the news fairly and accurately.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">This again begs the question, why would people willingly pay for something they neither trust nor respect?</p><h2><strong>People don&#x27;t read anymore</strong></h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">How many times have you heard the phrase, “I recently read this thing…” and you know they are either going to tell you about a viral TikTok they watched or a headline they read and made a snap judgement about? The reality is that attention spans are shot. The average person is on a constant media consumption overload, and nobody has the time to read a 10,000-word investigative journalism piece unless it’s for a university essay or while languishing on their retirement yacht.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Sure, people are constantly scrolling. But how much are they actually <em>reading?</em></p><h1><strong>Why all of this matters</strong></h1><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">If all of the above factors only affected the bottom line of the news media outlets, that would be one thing. We could collectively mourn the profit losses and continue with our lives basically unaffected. However, this shift away from text media and long-form content, in general, is having some pretty devastating impacts on individuals and our collective intelligence.<a class="prezly-slate-link" href="https://www.gsb.stanford.edu/insights/what-analysis-6-million-articles-reveals-about-state-us-newspapers" target="_self"> </a></p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"><a class="prezly-slate-link" href="https://www.gsb.stanford.edu/insights/what-analysis-6-million-articles-reveals-about-state-us-newspapers" target="_self"><u>Investigative journalism</u></a> is basically dead. The average attention span is<a class="prezly-slate-link" href="https://www.cnn.com/2023/01/11/health/short-attention-span-wellness/index.html" target="_self"> <u>decreasing rapidly</u></a>. The West’s favourite short-form video platform has over<a class="prezly-slate-link" href="https://newsroom.tiktok.com/en-us/1-billion-people-on-tiktok" target="_self"> <u>one billion monthly users</u></a>.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Yes, billion. With a <em>b</em>.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">It&#x27;s not fair to say that the massive shift away from thoughtful, investigative, accessible news media led to the rapid degradation of the average person&#x27;s ability to think critically and process information. But it certainly hasn’t helped.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">The reality is that every political and social party feels like there is news bias and censorship stacked against them. Because the news outlets are haemorrhaging money, they have to rely on overly sensationalised drama to generate clicks and (minuscule) revenue. Rage gets people talking. Making people mad drives revenue. So simultaneously making everyone feel like an angry, righteous victim – well that’s just good business.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Newspapers are no longer interested in the truth (despite already <a class="prezly-slate-link" href="https://www.lifelog.be/the-history-of-media-monetisation" target="_self"><u>being kinda biased before</u></a>), but in how the truth can be manipulated and packaged to capture the tiny attention spans of people who are now conditioned to only focus on the things they hate. As one NYT and NPR journalist puts it, there’s an insidious<a class="prezly-slate-link" href="https://gen.medium.com/the-real-media-bias-7a91d35e70fa" target="_self"> <u>“bad news bias”</u></a> that has overtaken the news media industry.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">So, if you can’t believe the news because it’s all rage-bait click farming and you lack the attention span or interest to peruse dense scientific journals to get your facts (<a class="prezly-slate-link" href="https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3341407/" target="_self"><u>which are often biased as well</u></a>), what is the average human supposed to do? Who can you trust to be honest for one damn second?</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">All this is to say, I don’t think the average person is willfully dumb. I think we’re all just doing our best to navigate a completely partisan, profit-driven, rage-based attention economy that is rapidly being eroded by one affiliate marketing-laden news story after another.</p><h2><strong>The only way out of this mess</strong></h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Thankfully, I have come up with a comprehensive and completely foolproof solution for this entire problem that will solve the monetisation issue, repair our eroded trust in the media, and save the average consumer a ton of money in subscription fees.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Just kidding.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">I have no idea what we&#x27;re supposed to do about this. I do know that what we are doing isn&#x27;t working. Even the few profitable news outlets rely on sketchy and ethically questionable <a class="prezly-slate-link" href="https://www.youtube.com/watch?v=rjvIph3Sx4c" target="_self"><u>affiliate marketing techniques</u></a> or subscriptions to their<a class="prezly-slate-link" href="https://newrepublic.com/article/162027/dont-change-wall-street-journal" target="_self"> <u>largely older, affluent bases</u></a> (“The No. 1 reason we lose subscribers is they die”).</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Any reasonable solution will inevitably take a Herculean effort from both sides: it will require media consumers to willfully invest in paying for the news if they want high-quality, unbiased news coverage that isn’t profit-driven. And it&#x27;ll require media outlets to report the news in ethical, audience-friendly, accessible ways.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">So yeah, we’re screwed.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p></section></div>]]></description><link>undefined/media-monetisation-is-making-us-stupid</link><guid isPermaLink="true">undefined/media-monetisation-is-making-us-stupid</guid><pubDate>Thu, 01 Feb 2024 13:37:00 GMT</pubDate></item><item><title><![CDATA[How Vercel builds Vercel]]></title><description><![CDATA[<link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/5b9fe846-6bfd-4f0e-802a-06874f913888/-/resize/1200/-/format/auto/Screenshot%20at%20January%20%2030%20-%20001616%402x.png"/><div class="ContentRenderer_renderer__tPJbs"><section class="prezly-slate-document" data-version="0.50"><h2> </h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Was watching this <a class="prezly-slate-link" href="https://twitter.com/leeerob" target="_blank" rel="noreferrer">@leeerob</a> video on How Vercel builds Vercel and had some thoughts.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">(shameless plug: <a class="prezly-slate-link" href="http://www.lifelog.be/how-prezly-uses-prezly-to-run-prezly" target="_blank" rel="noreferrer">I did a How Prezly uses Prezly to run Prezly post a few years back</a>)</p><h2>Monitoring App</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"><a class="prezly-slate-link" href="https://www.youtube.com/watch?v=-huwRrj_HA4&amp;t=490s" target="_blank" rel="noreferrer">Around minute 8 Rob</a> demonstrates a monitoring tab that we don&#x27;t have in our vercel account. I&#x27;m curious on how to access that feature but also how it&#x27;s built. It looks a lot like the charts we&#x27;re seeing in Grafana which is the tool we&#x27;re using to monitor logs.</p><h2>Using Contentful</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Surprised to learn they are using Contentful and<a class="prezly-slate-link" href="https://youtu.be/-huwRrj_HA4?si=aEF5ODHnRbNA6C2F&amp;t=236" target="_blank" rel="noreferrer"> are seeing similar build times</a> of 9+ minutes and a nice way to preview content before they hit &#x27;publish&#x27;</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">I&#x27;d love to understand their motivation around using Contentful vs a self-hosted option but what I am particularry interested is the way they preview content. From the screen share I think I can see that they are not using <a class="prezly-slate-link" href="https://www.contentful.com/developers/docs/tutorials/general/live-preview/" target="_blank" rel="noreferrer">Contentful Live preview</a> but are leveraging their menu-bar which knows that a user is logged in and can therefore load the content from the contentful preview API in addition to having static generation on site build. Nice!</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Personally I am considering replacing Contentful with PayloadCMS but still experimenting with it.</p><p><a href="https://twitter.com/digitalbase/status/1750180049699889173">Gijs Nelissen on Twitter / X</a></p><h2>Feature Flags</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">To test features before they go live or to gradually roll out new functionality Vercel is using the concept of feature flags powered by <a class="prezly-slate-link" href="https://www.google.be/search?q=launchdarkly&amp;client=safari&amp;sca_esv=7e89cde5b44aebc3&amp;sxsrf=ACQVn0-N2cXyYgkKeeFWE4vS1_IyJQMkfw%3A1706609354341&amp;source=hp&amp;ei=ysq4ZdW0Er3skdUPwayywAo&amp;iflsig=ANes7DEAAAAAZbjY2t6-oFrQFTIlrreTJVpQiTUNP9oW&amp;oq=launch+darkly&amp;gs_lp=Egdnd3Mtd2l6Ig1sYXVuY2ggZGFya2x5KgIIADIKEAAYgAQYywEYCjIKEAAYgAQYywEYCjIKEAAYgAQYywEYCjIKEAAYgAQYywEYCjIKEAAYgAQYywEYCjIKEAAYgAQYywEYCjIKEAAYgAQYywEYCjIKEAAYgAQYywEYCjIKEAAYgAQYywEYCjIKEAAYgAQYywEYCkjbE1AAWKoLcAB4AJABAJgBtwGgAcUNqgEEMS4xMrgBA8gBAPgBAcICBBAjGCfCAgoQIxiABBiKBRgnwgILEC4YgAQYxwEY0QPCAgUQABiABMICBRAuGIAEwgIIEC4YgAQY1ALCAgsQLhiABBjHARivAcICCBAAGIAEGMkDwgILEAAYgAQYigUYkgPCAg0QABiABBiKBRhDGMkDwgILEC4YrwEYxwEYgATCAggQABiABBjLAcICDhAuGIAEGMsBGMcBGK8B&amp;sclient=gws-wiz" target="_blank" rel="noreferrer">LaunchDarkly</a>. At Prezly we have our own self-built solution which is nothing more than a JSON data column that is available on user and company entities.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Now if I want to test a feature flag in production I have to open our admin tools and enable it for that user or account to then refresh the page (and refetch user context).</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">I like the menu-bar that allows admins to enable or disable features on the fly which is a great, and easy to build, add-on that can save us all quite some time.</p><img src="https://cdn.uc.assets.prezly.com/5b9fe846-6bfd-4f0e-802a-06874f913888/-/resize/1200/-/format/auto/Screenshot%20at%20January%20%2030%20-%20001616%402x.png" alt="Image"/><figcaption> </figcaption><hr class="prezly-slate-divider"/><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">My overall feeling of watching the video is that we&#x27;re doing quite well. It was great to hear that even companies like Vercel have tech debt (still on app + pages router). ​<br/>​<!-- -->​<br/>​<!-- -->Additionally i discovered that most things Rob talks about in the video are concepts we have applied at Prezly oftentimes without using Vercel components though.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Anything you learned from Rob&#x27;s video?</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p></section></div>]]></description><link>undefined/how-vercel-builds-vercel</link><guid isPermaLink="true">undefined/how-vercel-builds-vercel</guid><pubDate>Tue, 30 Jan 2024 10:32:00 GMT</pubDate></item><item><title><![CDATA[The history of media monetisation]]></title><description><![CDATA[<link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/1233860b-f558-4c52-bf3c-45f8fa6914fb/-/resize/1200/-/format/auto/pasted%20image%200.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/6e3427ed-9577-4bab-abd9-e152c3b8d74d/-/resize/1200/-/format/auto/pasted%20image%200.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/c9216691-f065-403a-ae9f-b94366558ab1/-/resize/1200/-/format/auto/Untitled.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/5fb3f88a-a0ca-4117-93ce-de278db8f8e8/-/resize/1200/-/format/auto/pasted%20image%200.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/8b14c947-2db0-40d9-9ff4-67f60b0ac831/-/resize/1200/-/format/auto/pasted%20image%200.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/ece0bbbc-04a7-4935-b5a5-c8c40fe4905f/-/resize/1200/-/format/auto/Untitled%20(1).png"/><div class="ContentRenderer_renderer__tPJbs"><section class="prezly-slate-document" data-version="0.50"><h2> </h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">You know the deal: you want to read about the latest horrifying global event, so you click on the first link, and… it’s paywalled. You go back and click on the second link. Also paywalled (and screaming at you about your ad blocker). Onto the third and fourth articles. Eventually, the global conflict has resolved itself before you find out what the hell is going on.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">This is just one symptom of a much larger and more complicated problem: <u>media monetisation</u>. Most of the global media industry is bleeding money and has been disrupted almost beyond recognition. So, how did we end up here? Where are we going? Who broke this system, and how can we un-break it? </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">I may not have all the answers, but I definitely have a lot of questions.</p><h2><strong>What is media monetisation?</strong></h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">First, let&#x27;s establish a baseline. What is media monetisation? Media monetisation is all about <em>who</em> pays for the media and <em>why</em>. Because the media and entertainment industry is valued at a global<a class="prezly-slate-link" href="https://www.trade.gov/media-entertainment" target="_self"> <u>$660 billion dollars annually</u></a>, this is an incredibly large, nuanced, and complicated subject. But it’s also a very important one, because the media doesn’t exist in a vacuum. Public opinion and global policy are shaped by the media that people consume, and biased media can have life and death consequences.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Media bias is one of the biggest side effects of this monetisation question, because as the adage goes, if you aren’t paying for it, you’re the product. </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Who is paying for the media you consume, and why are they paying for you to consume it? Why would these individuals and corps spend millions, if not billions, getting their perspectives in front of your eyes? Is it possible for media to be unbiased at this point, or are we, as consumers, just expected to unquestioningly consume whatever media is most ideologically aligned with our existing viewpoints? Is this healthy, or is it just further radicalizing and entrenching people in their echo chambers?</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Media monetisation is a huge issue. But it didn&#x27;t used to be. And it doesn’t have to be. Before we can realistically talk about what the media could look like in the future, let’s first look at where we’ve come from.</p><h1><strong>The history of media monetisation: from the 1600s to now</strong></h1><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">The legacy of digital media history is far more nuanced than I can cover in one article. However, having an overview of history will establish a starting point to talk about how media monetisation has evolved up to the present day.</p><h2><strong>Pre-newspapers (pre-1600s)</strong></h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Before printed newspapers, most news was dispersed through <a class="prezly-slate-link" href="https://blogs.ubc.ca/etec540sept12/2012/10/28/from-town-criers-to-newsprint-the-evolution-of-early-newspapers-in-england/" target="_self"><u>word-of-mouth, town criers, or bulletins</u></a> in city squares. This method was inefficient. Maybe you heard that your lands were being overtaken by some neighboring empire beforehand. Perhaps you found out when an army was knocking at your door and setting your roof on fire. Either way, the news dissemination was slow, chaotic, and rife with human error, fake news, and mistranslation (kind of like how Facebook is now, if we think about it).</p><h2><strong>Early newspapers (1600s–1700s)</strong></h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">With the <a class="prezly-slate-link" href="https://www.britannica.com/technology/printing-press" target="_self"><u>invention of the printing press</u></a> in the 1450s, mass media was on the brink of becoming a real possibility. By the 1600s, newspapers were popping up throughout Europe, with the <a class="prezly-slate-link" href="https://www.historyofinformation.com/detail.php?id=34" target="_self"><u><em>Relation aller Fürnemmen und gedenckwürdigen Historien</em></u></a> first circulating in 1605. This was thought to be the first bona fide newspaper, but others quickly started circulating worldwide.</p><a href="https://www.historyofinformation.com/detail.php?id=34"><img src="https://cdn.uc.assets.prezly.com/1233860b-f558-4c52-bf3c-45f8fa6914fb/-/resize/1200/-/format/auto/pasted%20image%200.png" alt="Image"/><figcaption> </figcaption></a><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Something you may not know if you personally do not own a 1600s printing press, but they are expensive and extremely annoying to operate. The average media consumer did not have a ton of fun money sitting around to invest in print media. So, early newspapers were often funded by political institutions and governmental bodies, and aimed more towards <a class="prezly-slate-link" href="https://open.lib.umn.edu/mediaandculture/chapter/4-2-history-of-newspapers/" target="_self"><u>wealthy elites</u></a>.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Because corruption and propaganda are not new concepts, these <em>Ye Olden Timey</em> papers were often more tools of the state than actual, unbiased news. Think about it: what incentive does a governing body have to be objective when they are the ones paying for the information that is being disseminated? That was a good question in the 1600s and it remains a good question now.</p><h2><strong>Advertising (1800s–1900s)</strong></h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">The earliest newspapers didn&#x27;t really have an infrastructure for advertisements. Not that they necessarily needed to, because they were basically propaganda rags. In the 1800s, newspapers realized that they could both propagate <em>and</em> profit through newspaper advertisements. Display ads started popping up to offset the costs, and are still prolific today in both digital and physical media formats.</p><a href="https://open.lib.umn.edu/app/uploads/sites/9/2015/11/1.3.0.jpg"><img src="https://cdn.uc.assets.prezly.com/6e3427ed-9577-4bab-abd9-e152c3b8d74d/-/resize/1200/-/format/auto/pasted%20image%200.png" alt="Image"/><figcaption> </figcaption></a><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">The 1800s saw newspapers becoming increasingly prominent in society. Literacy<a class="prezly-slate-link" href="https://www.weforum.org/agenda/2022/09/reading-writing-global-literacy-rate-changed/" target="_self"> <u>started going up</u></a>, as did newspaper readership and advertiser revenue. It turns out that being able to read the ads directly correlates to their efficacy. The “penny press” news began being circulated in 1830, which made for much cheaper papers, offset by ads and available to even the average person.</p><h2><strong>Subscriptions (late 1800s–present)</strong></h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">The late 1800s also saw a rise in the subscription model of print media. Folks could sign up for a regular subscription and receive a copy of the paper regularly delivered to their homes. This model existed as the status quo news model for a very long time and still exists today, but has largely moved online, where websites paywall the news behind a subscription model.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Subscriptions ensured that people got the news, whether they wanted it that day or not. This has become a standard practice and revenue generator for media all around the world ever since. Subscriptions, advertisers, big interest donors, and <a class="prezly-slate-link" href="https://academicus.edu.al/nr20/Academicus-MMXIX-20-034-050.pdf" target="_self"><u>lobbyists</u></a> all work in tandem to make the rapidly globalized news system function, and regular subscriptions act as <a class="prezly-slate-link" href="https://wan-ifra.org/2023/11/how-the-guardian-continues-to-drive-print-revenues-through-subscriptions/" target="_self"><u>a stabilizing force</u></a> for small newspapers and large media conglomerates.</p><h2><strong>Classifieds (early 20th century–2000s)</strong></h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">While classified ads have technically been around since the mid-1700s, they only took off in the early 20th century. But once they did, boy, did they take off. Businesses and individuals alike were able to pay a small fee to list their offerings and find buyers and customers. There were even personal ads that acted as the analog Tinder and job-posting advertisements that served as the OG LinkedIn.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Classified ads were a brilliant move. Newspapers could help connect people with a broad readership that wasn&#x27;t available before the internet, and they collected a monetary fee for every single ad posted. The classified ads section was often pages long, with all those classified ads acting as additional revenue for the newspapers. It&#x27;s hard to adequately articulate exactly how important classified ads were because they fell out of favor so dramatically, but classifieds were massive revenue generators for newspapers, often accounting for<a class="prezly-slate-link" href="https://www.pbs.org/wgbh/pages/frontline/newswar/tags/classifieds.html" target="_self"> <u>up to 70% of their total revenue</u></a>.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Eventually, classifieds were overtaken by more modern approaches, like Craigslist and Facebook Marketplace. Craigslist and, to a lesser extent, sites like eBay acted as <a class="prezly-slate-link" href="https://www.thestreet.com/investing/stocks/the-craigslist-tsunami-that-pummeled-newspapers-and-saved-consumers-5-billion-12007398" target="_self"><u>massive industry disruptors</u></a>, devaluing the newspaper industry by billions very rapidly. You&#x27;d be hard-pressed to find a bona fide classified ad these days, and the annual revenue of classifieds dropped<a class="prezly-slate-link" href="https://www.businessinsider.com/chart-of-the-day-newspapers-classified-ads-revenue-2011-3" target="_self"> <u>92% from 2001 to 2011</u></a> (and it’s only continued to decline).</p><h2><strong>Digital advertising (1990s–present)</strong></h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">As newspapers went online, so did their ads. The transition was inevitable as more people joined the web. In a lot of ways, this was a good thing. Environmentally, a lot less paper was wasted. The news could also travel faster and update more frequently, which in theory meant more accurate information. (Oh what fools we were.) </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">However, many terrible things also happen to the media industry. Local news started dying, with over<a class="prezly-slate-link" href="https://www.washingtonpost.com/magazine/interactive/2021/local-news-deserts-expanding/" target="_self"> <u>2,200 local newspapers</u></a> closing from 2005 to 2021 in the States alone . Classified ads started disappearing (as previously mentioned), and people began canceling their print subscriptions. This was the death knell for many small, local, independent news outlets.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Ad blockers were another significant blow for the industry as news outlets attempted to subsidize a loss of classified and print ad revenue. If you’ve ever been on a news website without an ad blocker, you’ll know it’s quite the experience.</p><img src="https://cdn.uc.assets.prezly.com/c9216691-f065-403a-ae9f-b94366558ab1/-/resize/1200/-/format/auto/Untitled.png" alt="Image"/><figcaption> </figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">The move to digital has been devastating for newspaper revenue. Even without a paywall, a print reader is worth<a class="prezly-slate-link" href="https://www.businessinsider.com/new-york-times-print-versus-online-2011-5" target="_self"> <u>228x more than a digital reader</u></a>. News outlets everywhere had to aggressively cut back on their more expensive content, like investigative pieces, in favor of smaller, more digestible, more reactive media. Ads were everywhere and ad blockers cost potential revenue to the tune of <a class="prezly-slate-link" href="https://www.darkpony.com/blog-en/the-cost-of-ad-blocking/" target="_self"><u>tens of billions per year</u></a> (not just for news outlets, but definitely <em>also</em> for news outlets). </p><h2><strong>Paywalls (2000s–present)</strong></h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">The early 2000s was the Wild West of the Internet. Online, people could find (or steal) practically anything; the only real limitation was the atrocious internet speed. Newspapers eventually realized that advertisements were simply not going to generate enough revenue to keep operating, especially with the proliferation of the aforementioned scourge of the media industry: ad blockers.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">As ad blockers became more common, the paywall was born. They pop up in all forms of media. Netflix paywalls movies. Audible paywalls books. And news sites paywall whatever insane thing a world leader had to say that day (any world leader, take your pick). Because of this global shift to housing all news and comms on the internet, people became more primed than ever to pay for subscriptions (and <a class="prezly-slate-link" href="https://www.forbes.com/sites/jiawertz/2022/07/15/the-growth-of-subscription-commerce/" target="_self"><u>a lot</u></a> of them). </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Some news organizations found revenue in this subscription model (such as the <a class="prezly-slate-link" href="https://www.diva-portal.org/smash/get/diva2:832292/FULLTEXT01.pdf" target="_self"><u>Wall Street Journal</u></a>), but many others continued to flounder and eventually shutter. As more and more media becomes subscription- and paywall-locked, consumers are beginning to push back on being nickel and dimed for every conceivable online service. </p><img src="https://cdn.uc.assets.prezly.com/5fb3f88a-a0ca-4117-93ce-de278db8f8e8/-/resize/1200/-/format/auto/pasted%20image%200.png" alt="Image"/><figcaption> </figcaption><h2><strong>Membership and donation models (2010s–present)</strong></h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Similar to the paywall, news agencies are beginning to play around and explore different donation models. This is more common in smaller publications with loyal readerships or within nonprofit industries. Additionally, writers and journalists are starting to paywall their own content and thought leadership through newsletters and services like Substack and Patreon. </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Consumers are less likely to receive their media from traditional sources, even when those sources can be accessed online, than in the past. A recent <a class="prezly-slate-link" href="https://www.pewresearch.org/journalism/fact-sheet/news-platform-fact-sheet/" target="_self"><u>Pew Research study</u></a> found that people are slowly but surely turning to search engines, social media, and podcasts to get their news over dedicated news sites and apps. While news sites and apps are still the primary go-to, they’re increasingly losing their lead to social media, podcasts, and other forms of microblogging.</p><a href="https://www.pewresearch.org/journalism/fact-sheet/newspapers/"><img src="https://cdn.uc.assets.prezly.com/8b14c947-2db0-40d9-9ff4-67f60b0ac831/-/resize/1200/-/format/auto/pasted%20image%200.png" alt="Image"/><figcaption> </figcaption></a><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Additionally, revenue for news services is dropping almost across the board. Few newspapers have been able to successfully maintain (or even grow) in this current news business climate. Newspaper revenue overall has <a class="prezly-slate-link" href="https://wordsrated.com/newspaper-revenue-statistics/" target="_self"><u>dropped over 15%</u></a> just since 2017, and the industry doesn’t seem to be doing much to adapt.</p><h2><strong>The elephant in the room: owners, private donors, and interests</strong></h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Up to this point, we&#x27;ve discussed how newspapers fund themselves. But this is only part of a bigger picture. You can’t realistically talk about media monetisation without discussing the impacts that revenue sources have on what gets discussed and why. </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Private donors, partisan groups, government entities, and lobbyists have political and social stakes in what news gets covered and how. Even advertisers often have strong, vested interest in what gets discussed and what doesn&#x27;t. It&#x27;s hard to be entirely unbiased when your next paycheck comes from a company that doesn&#x27;t want you to run a particular story or tell us a specific narrative.</p><a href="https://money.cnn.com/quote/shareholders/shareholders.html?symb=NYT&amp;subView=institutional"><img src="https://cdn.uc.assets.prezly.com/ece0bbbc-04a7-4935-b5a5-c8c40fe4905f/-/resize/1200/-/format/auto/Untitled%20(1).png" alt="Image"/><figcaption> </figcaption></a><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">To be a mindful media consumer, you must know who funds your media and why. Media consolidation has massive implications for partiality and contributes significantly to corporate interest interference and biased reporting. </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Some good resources for analyzing media bias and ownership:</p><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://www.allsides.com/media-bias/media-bias-chart" target="_self"><u>AllSides Media Bias Chart</u></a></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://mediabiasfactcheck.com/" target="_self"><u>Media Bias Fact Check</u></a></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://www.titlemax.com/discovery-center/lifestyle/who-owns-your-news-the-top-100-digital-news-outlets-and-their-ownership/" target="_self"><u>Who Owns Your News? The Top 100 Digital News Outlets and Their Ownership</u></a></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://ground.news/" target="_self"><u>Ground News</u></a></span></li></ul><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">This was the first article in the series where I will analyze the objectively broken media monetisation system. Next, we will discuss alternative media monetisation models. If you have any thoughts, reach out to me on <a class="prezly-slate-link" href="https://twitter.com/digitalbase" target="_self">Twitter/<u>X</u></a>. I’d love to hear them.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p></section></div>]]></description><link>undefined/the-history-of-media-monetisation</link><guid isPermaLink="true">undefined/the-history-of-media-monetisation</guid><pubDate>Mon, 22 Jan 2024 14:46:00 GMT</pubDate></item><item><title><![CDATA[A year in review]]></title><description><![CDATA[<div class="ContentRenderer_renderer__tPJbs"><section class="prezly-slate-document" data-version="0.50"><h2> </h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">I was listening to another great episode of Hackers Incorporated where Ben and Adam reviewed 2023 and figured it would be good to clean up my internal notes and do a blog post about it.</p><p><a href="https://hackersincorporated.com/episodes/2023-annual-review">Hackers Incorporated | Ben and Adam review 2023</a></p><h2>Personal/Family</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">As a family and (recently) married couple we&#x27;re doing great. The short version is that everyone is healthy, happy and content. </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">2023 was quite busy with a lot of visits from family and friends but overall we look back on the year as a milestone in our lives. A confirmation that <a class="prezly-slate-link" href="https://www.lifelog.be/over-a-year-in-spain" target="_blank" rel="noreferrer">moving abroad</a> was the right thing to do.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">During the numerous visits we learned that having a few days together truely allows us to reconnect with people we haven&#x27;t seen in a while. Just being together for more than a few hours allows us to take time to catch up. And while moving 1500km from your home-town can at times feel lonely, these visits made us see how many great friends we have ❤️.</p><h2>Health</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">One positive effect of the move to Spain is an improved health. Not sure if it&#x27;s because we sleep better or have a more active lifestyle but the little small pains of sitting in front of a computer most of the time have worn off. I&#x27;m still getting older though :-) </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">I started 2023 off well, with work-outs every day and a good habit of cold plunges every few days but after the summer break it has worn off a little. I didn&#x27;t hit my goal of doing a muscle-up in 2023 but will try again in 2024. A regular routine of burpees, pull-ups and squads have strengthened my core.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Additionally I am drinking noticeably less alcohol and coffee which is mostly a side-effect of opportunity. No great coffee-bars close-by, or friends to spend the night having beers with.</p><h2>Work</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Prezly has been a struggle in 2023. It&#x27;s been one of the first years where the largest growth has been offset by some customers leaving or downgrading. We ended the year still with about 5% growth which in other industries could be considered a win. I guess we are spoiled.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">After 10 years of being a co-founder I noticed that at times I am struggling to continuously find the right motivation and energy to keep pushing the same way we&#x27;ve been doing for the first years of that journey. Our team has grown to 27 people that all contribute a part of a well-running machine which also means that the pressure to question the status quo has decreased. There are no easy problems to solve anymore...</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Earlier in the year Jesse and I had an open conversation about those feelings and our expectations to one other. We identified the most important issues and agreed to a plan for the next year. An important conclusion of this conversation was that we might be spending too much time on the stuff we do not enjoy doing and not enough time on the stuff we love (and are good at). It was an important reminder that the fact that it&#x27;s our company (fully bootstrapped/no investors) is the best possible foundation to allow ourselves that.</p><h2>Side-Projects</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">A great source of energy was finding the time to hack away at some projects. Everything was in a way Prezly related but I spent time on a number of side-projects:</p><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">A plugin to see <a class="prezly-slate-link" href="https://www.contentful.com/" target="_blank" rel="noreferrer">contentful</a> items in <a class="prezly-slate-link" href="https://storybook.js.org/" target="_blank" rel="noreferrer">storybook</a> (<a class="prezly-slate-link" href="https://twitter.com/digitalbase/status/1704131786010173944" target="_blank" rel="noreferrer">tweet with video</a>)</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">An internal version (powered by supabase) to analyse website attribution</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Project to sync all website pages (from sitemap.xml) to an airtable base (<a class="prezly-slate-link" href="https://www.sitemap-to-airtable.com/" target="_blank" rel="noreferrer">www.sitemap-to-airtable.com</a>)</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Upgraded this blog to Next 14 + AppRouter. Implemented an RSS content viewer </span></li></ul><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Most of the code I wrote is probably crappy but I enjoyed the journey and upgraded a lot of my skills specifically around Typescript, Tailwind, RPC and edge/node functions.</p><hr class="prezly-slate-divider"/><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">That&#x27;s that. I hope you&#x27;ve had a great 2023!</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p></section></div>]]></description><link>undefined/a-year-in-review</link><guid isPermaLink="true">undefined/a-year-in-review</guid><pubDate>Mon, 22 Jan 2024 09:31:00 GMT</pubDate></item><item><title><![CDATA[How (Prezly) features travel from customer to production]]></title><description><![CDATA[<link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/44fc4612-bcff-4b82-b8d1-1672be5aeb21/-/resize/1200/-/format/auto/Screenshot%20at%20December%20%2013%20-%20001380%202%402x.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/3481a8b6-2f80-4d72-8c62-12b4ff197a43/-/resize/1200/-/format/auto/Screenshot%20at%20December%20%2013%20-%20001380%402x.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/d16d62b6-761a-4141-ac58-7ec1bc99d8df/-/resize/1200/-/format/auto/Screenshot%20at%20December%20%2015%20-%20001390%402x.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/4b3dc5f8-ab4f-4a4b-8a2f-1933c68cdbb8/-/resize/1200/-/format/auto/Screenshot%20at%20December%20%2013%20-%20001384%402x.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/a0240a54-10c4-4d6e-bfa6-0176cc57479c/-/resize/1200/-/format/auto/Screenshot%20at%20December%20%2015%20-%20001391%402x.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/37296425-763d-4d48-a436-1a548d94c57c/-/resize/1200/-/format/auto/Screenshot%20at%20December%20%2015%20-%20001393%402x.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/4a187e1f-42a7-41e9-bbf5-d5a6e47e1149/-/resize/1200/-/format/auto/Screenshot%20at%20December%20%2015%20-%20001392%402x.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/32d47f22-e718-4efe-b9f7-5f2b55d1b198/-/resize/1200/-/format/auto/Screenshot%20at%20December%20%2015%20-%20001394%402x.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/f92887e1-533a-4cba-96a3-941178e55756/-/resize/1200/-/format/auto/Screenshot%20at%20December%20%2015%20-%20001396%402x.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/59f772cc-04ce-4155-8418-8830084f7566/-/resize/1200/-/format/auto/Screenshot%20at%20December%20%2015%20-%20001397%402x.png"/><div class="ContentRenderer_renderer__tPJbs"><section class="prezly-slate-document" data-version="0.50"><img src="https://cdn.uc.assets.prezly.com/44fc4612-bcff-4b82-b8d1-1672be5aeb21/-/resize/1200/-/format/auto/Screenshot%20at%20December%20%2013%20-%20001380%202%402x.png" alt="Image"/><figcaption> </figcaption><h2> </h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">&#x27;Listen to your customers&#x27;, &#x27;focus on your clients&#x27; problems&#x27; – recurring advice you&#x27;ll recognise from pretty much every startup book on the market. It&#x27;s solid guidance. And for anyone running a tech company? A persistent challenge. </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">The problem is that there are so many different information channels, that trying to make sense of them all requires a near inhuman degree of attention, organisation, and consistency. Meanwhile the feedback loop, if neglected for even a short while, disintegrates. </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">At Prezly, I don&#x27;t think we&#x27;re listening to our customers enough. </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">And because one man&#x27;s dirty laundry is another&#x27;s chance to learn how to wash up, I&#x27;ve decided to analyse our current process to try to find ways to close the feedback loop and apply customer insights across all the various parts of our company and product.</p><h1>Our client feedback toolset</h1><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Here is a list of the tools we use when it comes to processing customer feedback:</p><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://www.intercom.com/" target="_blank" rel="noreferrer">Intercom</a>: Live chat and email support</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://slack.com/" target="_blank" rel="noreferrer">Slack</a>: Internal team conversations</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://zoom.us/" target="_blank" rel="noreferrer">Zoom</a>: Calls (both internal and external)</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://www.notion.so/" target="_blank" rel="noreferrer">Notion</a>: Knowledge base</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://www.vitally.io/" target="_blank" rel="noreferrer">Vitally</a>: Our customer success CRM</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://www.productboard.com/" target="_blank" rel="noreferrer">Productboard</a>: Feature prioritisation and insight processing</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://linear.app/" target="_blank" rel="noreferrer">Linear</a>: Project management/delivery</span></li></ul><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">That&#x27;s quite a few tools and, what&#x27;s worse, that&#x27;s not all. Three years ago <a class="prezly-slate-link" href="https://www.reddit.com/r/SaaS/comments/o1x0yk/the_cost_to_run_a_saas_platform_with_a_few/" target="_blank" rel="noreferrer">I wrote a much more detailed post on Reddit</a> about the different tools (and associated costs) we use to run our business.</p><h1>From conversation to feature</h1><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Often the clearest way to depict a process is through a workflow diagram, so that&#x27;s where I started my dissection. </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">The yellow section on the left shows all the different sources through which we receive feedback. It could be something a customer complains about on our live chat, a suggestion from a team member in Slack, a customer call, and so on.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">In addition to these more continuous insight streams, we also have an archive of notes logged in our customer success CRM (<a class="prezly-slate-link" href="https://www.vitally.io/" target="_blank" rel="noreferrer">Vitally</a>), and a small database of user research notes that we logged several months ago as part of interviews aimed at solving a positioning challenge.</p><img src="https://cdn.uc.assets.prezly.com/3481a8b6-2f80-4d72-8c62-12b4ff197a43/-/resize/1200/-/format/auto/Screenshot%20at%20December%20%2013%20-%20001380%402x.png" alt="Image"/><figcaption> </figcaption><h2>Processing feature feedback</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">We try to store all feature-related feedback as notes in Productboard. Those notes are then processed by someone from product, usually either myself or a member of the design team. Every note can include multiple feature ideas, as Productboard lets you highlight different sections of a single note and associate each to a particular feature or feature idea.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Here is an example of a processed note where one insight (a user interview) resulted in three different features ideas.</p><img src="https://cdn.uc.assets.prezly.com/d16d62b6-761a-4141-ac58-7ec1bc99d8df/-/resize/1200/-/format/auto/Screenshot%20at%20December%20%2015%20-%20001390%402x.png" alt="Image"/><figcaption>How a note (Now called Insight in Productboard) turns into features</figcaption><h2>Organising feature ideas</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">All those different feature ideas are organized in a huge feature tree that can span different product areas and components. This helps keep things organised and easy to find.</p><img src="https://cdn.uc.assets.prezly.com/4b3dc5f8-ab4f-4a4b-8a2f-1933c68cdbb8/-/resize/1200/-/format/auto/Screenshot%20at%20December%20%2013%20-%20001384%402x.png" alt="Image"/><figcaption>Example Feature Tree showing Effort/Prioritization score</figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">All features automatically get assigned a &#x27;user impact score&#x27; based on how you scored the importance of that feature in the initial note. You can also fill in the &#x27;effort score&#x27; (i.e. how hard a feature is to build) and stack this against multiple user impact scores (how important it is for your customers) to generate an overall &#x27;prioritization score&#x27;, which can be very useful for deciding which features to work on when.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">These numbers (together with a lot of other meta data) can then be used to slice and dice your feature tree, sort them by importance, and kick off development. That&#x27;s the idea, at least. Some examples of slicing/dicing/viewing that data:</p><img src="https://cdn.uc.assets.prezly.com/a0240a54-10c4-4d6e-bfa6-0176cc57479c/-/resize/1200/-/format/auto/Screenshot%20at%20December%20%2015%20-%20001391%402x.png" alt="Image"/><img src="https://cdn.uc.assets.prezly.com/37296425-763d-4d48-a436-1a548d94c57c/-/resize/1200/-/format/auto/Screenshot%20at%20December%20%2015%20-%20001393%402x.png" alt="Image"/><img src="https://cdn.uc.assets.prezly.com/4a187e1f-42a7-41e9-bbf5-d5a6e47e1149/-/resize/1200/-/format/auto/Screenshot%20at%20December%20%2015%20-%20001392%402x.png" alt="Image"/><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">In reality, I find that we use <a class="prezly-slate-link" href="https://www.productboard.com/" target="_blank" rel="noreferrer">Productboard</a> much like a filing cabinet that we dip into from time to time when we suddenly remember to do some research.</p><h2>Turning insights into Specifications/Planning</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">We have been using Basecamp&#x27;s Shape-Up method <a class="prezly-slate-link" href="/multiple-product-teams" target="_blank" rel="noreferrer">for over a year now at our company</a>, and it has served us well. I recommend <a class="prezly-slate-link" href="https://basecamp.com/shapeup" target="_blank" rel="noreferrer">having a look for yourself</a>, but long story short, it allows anyone in the wider team to pitch product ideas.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Ideally, those product ideas come out of speaking with customers, using the product for yourself, seeing what a competitor is doing, noticing an evolution in technology, or going through logged customer insights. In actuality, most pitches are the result of a more direct thinking process: &#x27;This would be cool to build, so we should build it!&#x27;</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">To tackle some of this problem, we encourage people to sprinkle their project pitches with insights/feature requests from Productboard. This is particularly relevant to the problem statement part of the pitch, which is best seen through the words of a customer (i.e. Productboard insights).</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Often, multiple different feature ideas/insights can be combined into a single pitch. For example, when we decided that we were going to explore automatic story translation (at the time of writing, a work in progress), it was through a combination of 14 insights on various features:</p><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Feature: Google Translate Integration (6 insights)</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Feature: Make translator accounts free (1 insight)</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Feature: AI-powered translations (4 insights)</span></li></ul><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">If a feature is small enough and easy to build, we will skip the Shape-Up pitching process and plan the work straight in our task management tool, Linear, where the CARE team can pick it up as and when they are able (the CARE team consists of developers and designers not currently assigned to an active project).</p><h2>Picking which projects to build</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">I could (and perhaps should) dedicate an entire post on the complexity of the betting session. In our Shape-Up FAQ we try to answer the question for the team</p><img src="https://cdn.uc.assets.prezly.com/32d47f22-e718-4efe-b9f7-5f2b55d1b198/-/resize/1200/-/format/auto/Screenshot%20at%20December%20%2015%20-%20001394%402x.png" alt="Image"/><figcaption>Criteria for picking a project</figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Reading this now I feel that this is missing some specifics. Here are all the things that go into betting:</p><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">What are the most important problems?</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Team allocation/holiday?</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Is this project something &#x27;exciting&#x27; we can do marketing with?</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">How long has this problem been lying around?</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Is there any time-pressure to pick this project now?</span></li></ul><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">We&#x27;ve recently opened the betting sessions from a 2-person co-founder meeting, to a 4-person recorded betting session. That recording is then shared with the team and notes are shared with the authors of pitches that were discussed during that betting session.</p><h2>The development stage</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">This could be a blog post all of itself, but to keep things brief: we use Linear to organise our work. We have different teams in product and every picked Shape-Up project gets its own project in Linear.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">With a few exceptions, we prefer short projects usually spanning a two-week cycle. During the execution of the project, the team assigned to it writes regular updates that are automatically shared in the relevant Slack channels.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">As a rule of thumb, we break projects into separate components that are deployed whenever the team feels there is enough value for our customers. A six-week project, for instance, will ideally have multiple different components going live throughout its timeline.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">For features that we&#x27;re less certain about, we use feature flags to enable their functionality for a subset of customers and see how things progress. If we want more eyes on a feature, we promote it to the &#x27;feature labs&#x27; part of our tool so that clients can enable and test it for themselves.</p><h2>Informing customers</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Every time I speak to a customer, I am surprised how little they are aware of our new features. Although we try with <a class="prezly-slate-link" href="https://www.prezly.com/help/best-practices/prezly-roundup" target="_blank" rel="noreferrer">our monthly newsletter</a>, <a class="prezly-slate-link" href="https://www.prezly.com/changelog" target="_blank" rel="noreferrer">a public changelog</a>, an in-app changelog, and a &#x27;what&#x27;s new&#x27; section on <a class="prezly-slate-link" href="https://rock.prezly.com/login" target="_blank" rel="noreferrer">the login page</a>, it&#x27;s clear that we still have a long way to go when it comes to informing our customers about our new features. </p><img src="https://cdn.uc.assets.prezly.com/f92887e1-533a-4cba-96a3-941178e55756/-/resize/1200/-/format/auto/Screenshot%20at%20December%20%2015%20-%20001396%402x.png" alt="Image"/><figcaption>What&#x27;s new on login page</figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Part of this is remembering that people in general feel themselves time-poor, and are unlikely to seek out information – or even open a company newsletter – unless they&#x27;re really invested in what&#x27;s going on. It&#x27;s something we&#x27;re working on.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">When it comes to launching a new feature or an update, it makes sense to contact directly our most relevant audience – i.e. the people who requested that feature in the first place. This is where Productboard again comes in very useful, since it&#x27;s easy to see any insights linked to a feature request and create a mailing list accordingly. </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">So we reach out to those people, tell (or better, show) them the new feature, and ask them to try it out and let us know what they think. This is incredibly useful in helping us understand whether we&#x27;ve correctly identified a common customer problem and presented an adequate solution – something that is great after the fact and indispensable during smaller rollouts along the longer six-week project timelines. </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">On paper, it reads like a solid plan, but even as I write this I&#x27;m painfully aware that speaking with customers is the weakest link in our entire feedback flow. Specifically as we&#x27;re currently struggling with positioning and the question &#x27;<em>what makes Prezly different vs..?</em>&#x27; I think that the our the answers are in deeper/better conversations with our customers which we simply don&#x27;t do it enough.</p><h1>The challenges</h1><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">As mentioned in the introduction, I feel that we aren&#x27;t learning enough from our interactions with customers. It became even more obvious when <a class="prezly-slate-link" href="chrome-extension://blaaajhemilngeeffpbfkdjjoefldkok/blocked.html?1&amp;https://twitter.com/ekatemari" target="_blank" rel="noreferrer">my colleague Kate</a> started this conversation in our internal Discourse:</p><img src="https://cdn.uc.assets.prezly.com/59f772cc-04ce-4155-8418-8830084f7566/-/resize/1200/-/format/auto/Screenshot%20at%20December%20%2015%20-%20001397%402x.png" alt="Image"/><figcaption>Discourse Convo: Are we speaking with our customers?</figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">I think that a lot of the interactions we have with our customers are one-directional. For example, we invite customers for a user research session mostly because we want to learn what to build. That sounds logical, but it isn&#x27;t how relationships work. </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">At no point do we deliberately try to build a partnership where we listen to their challenges, try to come up with the best possible solution, and then return to them to validate and/or iterate.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">And there began the idea for this blog post. </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Going forward, I want to rethink our process with new requirements:</p><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Work on the most important problems that our customers face (assuming they fit our mission)</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Always inform customers when we build something they asked for</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Make it easy for anyone to follow up on what happened with their feedback </span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Turn insight discussions/debates into company-wide conversations (for people that want to participate)</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Better spot recurring problems and work on those </span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Make insights an important input of planned work (context for developers and designers)</span></li></ul><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">With that in mind, I&#x27;m going to play around with the Productboard integrations, research what techniques and tools are out there to help us take this to the next level, and share my findings here. My hope is that this approach will help me organise my thoughts as well as bring you into the conversation, and as a byproduct, maybe even save other founders some of this pain. </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">As always, any advice or experience you want to share – I&#x27;m all ears. </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Gijs</p></section></div>]]></description><link>undefined/how-prezly-features-travel-from-customer-to-production</link><guid isPermaLink="true">undefined/how-prezly-features-travel-from-customer-to-production</guid><pubDate>Fri, 15 Dec 2023 08:41:00 GMT</pubDate></item><item><title><![CDATA[Over a year in spain]]></title><description><![CDATA[<link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/2a1fe00c-3dbd-46f9-bcaf-a921d0f48f83/-/resize/1200/-/format/auto/873D39E4-2A37-495A-A777-59D2E5CC155E_1_201_a.heic"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/dd975f24-2c24-443f-9461-566b0e44e9c5/-/resize/1200/-/format/auto/DEE49B52-43D9-4A9D-9302-910AC8519880_1_105_c.jpeg"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/b535e05f-4573-4725-9e04-1668f536da50/-/resize/1200/-/format/auto/Erica%20Jacobs-Broekstraat%20Heverlee-Hannelore%20Veelaert-DSC09061-HDR-lo%20res.jpg"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/6dcb130c-6b12-48f6-9ce5-624e3e4ce818/-/resize/1200/-/format/auto/Erica%20Jacobs-Broekstraat%20Heverlee-Hannelore%20Veelaert-DSC09070-HDR-lo%20res.jpg"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/c2698b80-6b3e-43a3-b85b-d8e1b0c8788e/-/resize/1200/-/format/auto/Erica%20Jacobs-Broekstraat%20Heverlee-Hannelore%20Veelaert-DSC09086-HDR-lo%20res.jpg"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/5e7e3b54-bba2-4bdf-bd75-ef00ed4473d2/-/resize/1200/-/format/auto/Erica%20Jacobs-Broekstraat%20Heverlee-Hannelore%20Veelaert-DSC09148-HDR-lo%20res.jpg"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/dd3a9ce7-8316-4701-a402-de323b03260c/-/resize/1200/-/format/auto/Erica%20Jacobs-Broekstraat%20Heverlee-Hannelore%20Veelaert-DSC09221-lo%20res.jpg"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/85156acc-a31b-4f53-94d6-51aa663f0965/-/resize/1200/-/format/auto/Erica%20Jacobs-Broekstraat%20Heverlee-Hannelore%20Veelaert-DSC09277-lo%20res.jpg"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/4c1a39f0-98f5-4d43-9649-e156cec4dd79/-/resize/1200/-/format/auto/Erica%20Jacobs-Broekstraat%20Heverlee-Hannelore%20Veelaert-DSC09262-lo%20res.jpg"/><div class="ContentRenderer_renderer__tPJbs"><section class="prezly-slate-document" data-version="0.50"><h2> </h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">I&#x27;ve been neglecting this blog and the 112 people that subscribed for updates 🙁 But life took over and just couldn&#x27;t bring myself to sit down and write. A lot has happened though:</p><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Decided we&#x27;re going to stay after the 1 year trial</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Sold our house in Belgium</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">We&#x27;re getting married</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Many of you have visited us (22 visits so far)</span></li></ul><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">We have now been in Spain for 16 months and it has been good for us. We&#x27;ve grown closer as a family and enjoyed a more calm and easy life in the mountain village. I&#x27;ve been hiking the mountains, taking cold showers in the village waterfall and taking the kids to swim/paddle/kanoo in the lake.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">But as it goes in life, it&#x27;s not only happiness and sunshine... We too have our ups and downs: Three kids, our jobs and living apart from family and friends can take it&#x27;s toll. But overall I can say that I&#x27;m happier, calmer and feel mentally and physically healthier being here.</p><h2>How are the kids?</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">I know many of you have subscribed to the blog to get an update about the kids so here we go:</p><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><strong>Marcel</strong> signed up for basketball and is obsessed. Sinterklaas brought him a basketball ring so he can practice in front of the house. He&#x27;s also going to guitar classes but doesn&#x27;t enjoy practicing so it became somewhat of a chore. He loves going to school, made quite some friends and is still his happy self. His strong character is a challenge but we couldn&#x27;t imagine our lives without our happy clown.</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><strong>Lucie </strong>is in between being a child without worries and being a small adolescent. After the trauma with the sheep (she found out the hard way how the farm works) she does not visit the farm as often. Small relational struggles (with her friends) at school but all in all she&#x27;s doing great. On Friday she is going to Teles classes (translates to &#x27;arial fabrics aerobathics&#x27;) which is basically acrobatics on a long curtain. ​ </span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><strong>Robbert </strong>is now officially in puberty with all the behavior that comes with it. Still likes to read books, is playing piano daily (yousician) and is doing great at school where he is learning Spanish/Castilliano. I am slowly introducing him to my type of humor (Hans Teeuwen, Het Eiland, In de Gloria) and he&#x27;s loving it :-)</span></li></ul><img src="https://cdn.uc.assets.prezly.com/2a1fe00c-3dbd-46f9-bcaf-a921d0f48f83/-/resize/1200/-/format/auto/873D39E4-2A37-495A-A777-59D2E5CC155E_1_201_a.heic" alt="Image"/><figcaption>My father visited us in September 23.</figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">After a year we can say that they have adapted the best to the new conditions. They enjoy going to school, laugh/make fun a lot and are learning how to help around the house (as we don&#x27;t have a washing machine or dryer). </p><h2>The house</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Whenever we can we try to improve the house. I like the Catalan expression &#x27;poc a poc&#x27; which is my new motto when it comes to the house renovations</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Last summer it was mostly the garden that received most of our attention and we were able to harvest a ton of tomatoes, salad, ​ a truckload of cherries (best I&#x27;ve ever had) and a large variety of herbs and medicinal plants 🌱.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">In the kitchen a wood oven made room for a large countertop I tiled myself that now is a multi-functional table for cooking, homework or breakfast. We broke out a small wall to the kitchen to better connect the living room with the kitchen.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">The next project is the office area on the top floor. We&#x27;re waiting for the furniture to arrive so Annelies and I can work from the large office on the top floor with beautiful views. I did speak with her about the rules around interruptions and having calls in a shared office.</p><img src="https://cdn.uc.assets.prezly.com/dd975f24-2c24-443f-9461-566b0e44e9c5/-/resize/1200/-/format/auto/DEE49B52-43D9-4A9D-9302-910AC8519880_1_105_c.jpeg" alt="Image"/><figcaption>The (much smaller) office I&#x27;m in now, which also serves as kids dressoir :-)</figcaption><h2>(sold) the house in Belgium</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">After a lot of thinking and rethinking we finally decided to sell our house in Belgium. </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">When we decided to move we wanted to keep our options open. Also, because the house still had half of our stuff, we decided not to rent it in <a class="prezly-slate-link" href="https://www.lifelog.be/first-week-in-spain" target="_self">the first year</a>.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">But after using the house over the summer we figured it was time to make a decision. After long conversations we finally decided it was time to let it go. I guess the main reason was that we didn&#x27;t see ourselves return to that house (it was too small) but a lot of different factors contributed to the decision. And sometimes we still don&#x27;t know it was the right choice. Time will tell.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">After that decision things happened fast...We managed to find some help to fix the place up (repaint some rooms, fix water damage) and each took turns in travelling to Belgium and packing what was left in the house in over 70 cardboard boxes and made plan how to move the piano to Spain.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">At the same time we signed up for an Immoweb account and uploaded our best 15 pictures together with a short summary. The first visitors fell in love with the house and decided to buy it. It felt great handing off the torch to a nice couple who reminded us of our spirit when we first moved to that house.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Few pictures just for my own memories:</p><img src="https://cdn.uc.assets.prezly.com/b535e05f-4573-4725-9e04-1668f536da50/-/resize/1200/-/format/auto/Erica%20Jacobs-Broekstraat%20Heverlee-Hannelore%20Veelaert-DSC09061-HDR-lo%20res.jpg" alt="Image"/><img src="https://cdn.uc.assets.prezly.com/6dcb130c-6b12-48f6-9ce5-624e3e4ce818/-/resize/1200/-/format/auto/Erica%20Jacobs-Broekstraat%20Heverlee-Hannelore%20Veelaert-DSC09070-HDR-lo%20res.jpg" alt="Image"/><img src="https://cdn.uc.assets.prezly.com/c2698b80-6b3e-43a3-b85b-d8e1b0c8788e/-/resize/1200/-/format/auto/Erica%20Jacobs-Broekstraat%20Heverlee-Hannelore%20Veelaert-DSC09086-HDR-lo%20res.jpg" alt="Image"/><img src="https://cdn.uc.assets.prezly.com/5e7e3b54-bba2-4bdf-bd75-ef00ed4473d2/-/resize/1200/-/format/auto/Erica%20Jacobs-Broekstraat%20Heverlee-Hannelore%20Veelaert-DSC09148-HDR-lo%20res.jpg" alt="Image"/><img src="https://cdn.uc.assets.prezly.com/dd3a9ce7-8316-4701-a402-de323b03260c/-/resize/1200/-/format/auto/Erica%20Jacobs-Broekstraat%20Heverlee-Hannelore%20Veelaert-DSC09221-lo%20res.jpg" alt="Image"/><img src="https://cdn.uc.assets.prezly.com/85156acc-a31b-4f53-94d6-51aa663f0965/-/resize/1200/-/format/auto/Erica%20Jacobs-Broekstraat%20Heverlee-Hannelore%20Veelaert-DSC09277-lo%20res.jpg" alt="Image"/><img src="https://cdn.uc.assets.prezly.com/4c1a39f0-98f5-4d43-9649-e156cec4dd79/-/resize/1200/-/format/auto/Erica%20Jacobs-Broekstraat%20Heverlee-Hannelore%20Veelaert-DSC09262-lo%20res.jpg" alt="Image"/><h2>Getting married</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">I always said I never wanted to get married. Looking back I&#x27;m not sure about the exact reasons but I convinced myself, and everyone around me, that it would never happen. Since <a class="prezly-slate-link" href="https://www.lifelog.be/moving-to-spain" target="_self">we moved to Spain</a> I noticed I&#x27;ve been thinking about it more often.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">So I secretly got a ring and waited for the perfect moment to pop the question. Granted, finding the perfect moment took longer than expected as I had told myself that I wanted the kids to be there when I asked Annelies.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">But on a sunny day beginning of August, on our way back to Belgium, I went on my knees and asked her. Being nervous and all I forgot to open the box and show the ring. She said yes. And I believe it&#x27;s the first time in a long time that the kids were speechless for more than a few minutes.</p><h2>What&#x27;s next?</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">We&#x27;re visiting Belgium for 10 days during Christmas to catch up with family and do the official part of the marriage. As we now don&#x27;t have a house we&#x27;re staying in a rental home ​ ​ close to Brussels (Meise) which is great as we&#x27;re now closer to her side of the family.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">When we&#x27;re back in Spain I&#x27;d like to take it easier for a few weeks and clean the schedule. That time will be spent well on skiing, playing guitar and making bread. </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Onwards!</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p></section></div>]]></description><link>undefined/over-a-year-in-spain</link><guid isPermaLink="true">undefined/over-a-year-in-spain</guid><pubDate>Fri, 01 Dec 2023 09:00:00 GMT</pubDate></item><item><title><![CDATA[If you're afraid of deploying on Friday you should be scared of deploying on weekdays as well]]></title><description><![CDATA[<link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/4ee5927b-ed10-4903-87ba-eda17098720b/-/resize/1200/-/format/auto/sigmund-SZGdof7rk7g-unsplash.jpg"/><div class="ContentRenderer_renderer__tPJbs"><section class="prezly-slate-document" data-version="0.50"><img src="https://cdn.uc.assets.prezly.com/4ee5927b-ed10-4903-87ba-eda17098720b/-/resize/1200/-/format/auto/sigmund-SZGdof7rk7g-unsplash.jpg" alt="Image"/><figcaption> </figcaption><h2> </h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">If you&#x27;re in a software or product company I&#x27;m sure you have heard the advice of &quot;don&#x27;t deploy on Friday.&quot; This is both reasonable and has merit. However, this isn&#x27;t great advice in 2023. </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">By now you&#x27;ve had plenty of time to invest in tooling around your deployment pipeline. I can hear you now, &quot;But Friday is a good day to deploy because everyone is off and I don&#x27;t have to worry about users seeing my mistakes.&quot;, in that case I don&#x27;t know what to say. </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">The phrase &quot;Don&#x27;t deploy on Friday&quot; is shorthand for some sort of a Fridayphobia mantra that has no place in modern product companies. It&#x27;s an old belief that persists among many developers: deploying on a Friday would bring bad things...</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">I am going to talk about why this advice came about in the first place, why it&#x27;s not relevant anymore (there are exceptions), and what can be done instead.</p><h2>Bugs will be in production longer</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">The rule came about from a time when deployment was much harder and a big deal. Software teams would plan releases weeks in advance where often big pieces of code were deployed all in one go. Chances to break stuff were significant.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">And obviously, we want to make sure that your team can enjoy their deserved weekend and not have to spend their Friday evening debugging just because someone decided to deploy a big change right about when you were packing your bag for a camping trip.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Or maybe the whole process of deploying code is cumbersome and error prone and you don&#x27;t want to risk having to stay around later and figure stuff out.</p><h2>Why is this a problem?</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">One primary drawback of avoiding deployments on Friday is the slowdown in the shipping capabilities. By following a stupid &quot;no-Friday deploy&quot; policy, valuable time on the calendar is lost each week. With each passing Friday, you miss out on the opportunity to deliver value and stay ahead.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Furthermore, avoiding deployments on Friday can contribute to a decrease in team trust. Modern development practices have solved this problem. When a team consistently refrains from Friday deployments, it sends a message that there is a lack of confidence in the overall system.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">And although an important component of efficient companies is to be risk-averse that does not apply here. The risk management should be done by breaking up features in workable, deployable chunks that can be deployed and provide learning oppertunities.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">In summary, refraining from deploying on Friday will slow the company down and undermine team trust.</p><h2>The obvious solution - make deployments boring.</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">The obvious solution, then, is to make deployments constant and robust. You want to make deployment as boring as possible. That way it&#x27;s a low-barrier activity and a boring process of pushing code to a server and having it run in exactly the same way whether you&#x27;re deploying on Friday afternoon or at 3 on Monday morning (or any other time). </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">That means automating every aspect of deployment from start to finish - from triggering the deployment, building the new version of your app in CI/CD, provisioning servers, etc., all the way until making sure everything still works correctly when deployed. </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">This is the approach we&#x27;re taking at Prezly which is working pretty well. In addition to a PR review (by another human) we have a set of tests and automation that makes sure everything is working as expected. Additionally, we have a lot of alerts in place that are triggered automatically based on application logs, error codes and speed reports we all capture in our logging datastore. We are able to deploy code dozens of times a day without disrupting users or causing problems. </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">The advantage of making deployment boring is that product teams start to use that to their benefit where they constantly ship small iterations and improvements instead of large chunks of code.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">And although this gets you a long way, it&#x27;s not a silver bullet. You should never be 100% confident in your deployments just because you have tests.</p><h2>Easy rollback</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Mistakes will happen. The question isn&#x27;t how often mistakes are made but rather how well they are being handled.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">A great CI pipeline should have a &#x27;rollback&#x27; button somewhere that switches the application to a previous/working version of the app. This should keep in account any database/schema migrations and have a good mechanism (database migrations) to rollback any changes you made to the database.</p><h2>Apply the &#x27;no Friday&#x27; rule when it makes sense</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">For the reasons laid out in this post I think the no-shipping-on-friday rule is generally bad, it is important to ackowledge that there can be legitimate exceptions to this rule. </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Sometimes there will be changes/improvements/upgrades where there is more uncertainty. Although I&#x27;d still argument to try and find a way to decrease that uncertainty ​ there might be a good case to wait for Monday.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Some examples:</p><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Upgrading the database version. This might introduce unexpected effects that are hard to estimate only by having a good testing suite</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Decommissioning a feature. Lets say you&#x27;ve been testing a whole new layout for the app and are happy with the feedback/experiment by a % of your users. Setting this as a new default and enabling it for all customers might be better on Monday as you can expect an increase in feedback/conversations</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Huge feature releases. Although we try to avoid this there are cases where an event or build-up of a new feature (please don&#x27;t say AI) will result in an one-off hocus pocus ta-da moment. For any case where you&#x27;re pushing a large PR/changeset to your production database i think if you have the choice it&#x27;s better not to do it on Monday.</span></li></ul><h2>Conclusion</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Now that you know this rule isn&#x27;t just outdated, it&#x27;s also counterproductive. </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">You can take the same approach to deployments that you do with everything else: make them routine, plan for them in advance, and prepare your team for success by eliminating siloed environments and automating as much as possible.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Good reads:</p><p><a href="https://builtin.com/software-engineering-perspectives/friday-deploys">Are Friday Code Deploys Bad for Work-Life Balance? | Built In</a></p><p><a href="https://medium.com/openclassrooms-product-design-and-engineering/do-not-deploy-on-friday-92b1b46ebfe6">Do not deploy on Friday!</a></p><p><a href="https://rnelson0.com/2016/03/23/no-deploy-friday-is-a-sign-of-it-maturity/">“No Deploy Friday” is a sign of IT Maturity</a></p><p><a href="https://hackernoon.com/deploy-on-fridays-or-dont-qg2y32jk">Deploy on Fridays, or Don&#x27;t. | HackerNoon</a></p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p></section></div>]]></description><link>undefined/if-youre-afraid-of-deploying-on-friday-you-should-be-scared-of-deploying-on-weekdays-as-well</link><guid isPermaLink="true">undefined/if-youre-afraid-of-deploying-on-friday-you-should-be-scared-of-deploying-on-weekdays-as-well</guid><pubDate>Tue, 22 Aug 2023 07:47:00 GMT</pubDate></item><item><title><![CDATA[A simpler LTV (Life Time Value)]]></title><description><![CDATA[<link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/2abcadc6-7bf1-490b-b353-3e26dbdefc92/-/resize/1200/-/format/auto/Screenshot%20at%20May%20%2031%20-%20000558%402x.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/865dbcb8-0d3f-4ce0-afc6-76820ec15a6f/-/resize/1200/-/format/auto/Screenshot%20at%20May%20%2031%20-%20000560%402x.png"/><div class="ContentRenderer_renderer__tPJbs"><section class="prezly-slate-document" data-version="0.50"><h2> </h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Recently I had to answer some data questions around our ideal customer so I needed a way to calculate LTV. In the past I&#x27;ve done my fair share of heavy data lifting to get the most accurate value of Life Time Value. </p><img src="https://cdn.uc.assets.prezly.com/2abcadc6-7bf1-490b-b353-3e26dbdefc92/-/resize/1200/-/format/auto/Screenshot%20at%20May%20%2031%20-%20000558%402x.png" alt="Image"/><figcaption>Example formula of LTV</figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Alternatively we&#x27;ve used platforms like <a class="prezly-slate-link" href="https://baremetrics.com/" target="_blank" rel="noreferrer">Baremetrics</a> or <a class="prezly-slate-link" href="https://chartmogul.com/" target="_blank" rel="noreferrer">ChartMogul</a> to do the math for us. ​ But reality is that we don&#x27;t obsess over those numbers and just don&#x27;t look at them enough to account for the cost.</p><h2>Lacking the data</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">In our case, calculating lifetime value (LTV) per account is difficult because we don&#x27;t store historical subscription data. We use Stripe for the bulk of the work, so we mostly just keep track of the current active subscriptions and don&#x27;t store information about past changes in subscription for each customer.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Additionally we don&#x27;t have the best insight in Subscribed Acquisition Cost (or CAC) per channel. And even if we did that starts <a class="prezly-slate-link" href="https://www.lifelog.be/solving-marketing-attribution-using-segment" target="_self">the whole conversation about marketing attribution</a>.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">A lot of reasons why we just don&#x27;t have the best view on our customer Lifetime Value.</p><h2>A much simpler way</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">What we do have in our database is a list of all invoices (and credit notes) synced to a single table. It has the history of every outgoing invoice spanning multiple billing systems from something self-built, Xero all the way to Stripe.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">The invoices table is looks a little like this where every invoice has a period and is linked to a customer in the customer table.</p><img src="https://cdn.uc.assets.prezly.com/865dbcb8-0d3f-4ce0-afc6-76820ec15a6f/-/resize/1200/-/format/auto/Screenshot%20at%20May%20%2031%20-%20000560%402x.png" alt="Image"/><figcaption>Illustration of the invoice &lt;&gt; customer data model</figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">To get an approximation of Life Time Value I did nothing more than summing up all the invoices per customer which presented me with a pretty good understanding of who are our most valueable customers.</p><hr class="prezly-slate-divider"/><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">I know this calculation doesn&#x27;t look ahead and underestimates the LTV. But it did the job of comparing the most valuable customers. Plus, LTV isn&#x27;t always the perfect solution either.</p><blockquote class="prezly-slate-quote prezly-slate-quote--align-inherit">Some people wield the LTV model as if they were Yoda with a light saber; “Look at this amazing weapon I know how to use!” Unfortunately, it is not that amazing, it’s not that unique to understand, and it is not a weapon, it’s a tool. Companies need a sustainable competitive advantage that is independent of their variable marketing campaigns. You can’t win a fight with a measuring tape.<br/>​<!-- -->​<br/>​<!-- -->From: <a class="prezly-slate-link" href="https://abovethecrowd.com/2012/09/04/the-dangerous-seduction-of-the-lifetime-value-ltv-formula/" target="_blank" rel="noreferrer">The Dangerous Seduction of LTV.</a></blockquote><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p></section></div>]]></description><link>undefined/a-simpler-ltv-life-time-value</link><guid isPermaLink="true">undefined/a-simpler-ltv-life-time-value</guid><pubDate>Wed, 31 May 2023 07:05:00 GMT</pubDate></item><item><title><![CDATA[IndieWebifying my Blog - part 1]]></title><description><![CDATA[<link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/1f8a56d9-c6a2-4207-b0c9-cc0eb3300f29/-/resize/1200/-/format/auto/Untitled.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/7935fe1c-8a58-4f50-a432-8439861d8c59/-/resize/1200/-/format/auto/Screenshot%20at%20November%20%2014%20-%20000045%402x.png"/><div class="ContentRenderer_renderer__tPJbs"><section class="prezly-slate-document" data-version="0.50"><h2> </h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">With all the commotion around Twitter, Mastodon, and the Fediverse (<a class="prezly-slate-link" href="https://framatube.org/w/4294a720-f263-4ea4-9392-cf9cea4d5277" target="_blank" rel="noreferrer">what is the Fediverse video</a>) I&#x27;ve been reading into the alternatives to centralised and content silos.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Most of my questions were answered by the awesome folks <a class="prezly-slate-link" href="https://indieweb.org/why" target="_blank" rel="noreferrer">at the indiweb</a> where I was able to update my knowledge about Microformats, syndication, the term &#x27;<a class="prezly-slate-link" href="https://indieweb.org/POSSE" target="_blank" rel="noreferrer">POSSE</a>&#x27;, web mentions and indieAuth.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">We have a long way to go to replace our current content silos and get back to how the web was intended in the first place. But there are a lot of small and simple things that product builders, content creators and readers can do today to bring us all a little closer:</p><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><strong>Own your own site/content: </strong>Buy your own domain name and set up a personal site to own your content. Post it on your site first and share it on socials.</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><strong>RSS everywhere: </strong>Make sure our blogs/sites support RSS and encourage anyone to install and use an RSS reader. No algorithms, no ads, but updates from the authors and products you want to hear from.</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><strong>Subscribe for updates: </strong>Provide a form where visitors can leave their email to receive updates. I prefer RSS over that but people less tech-savvy can be informed about new posts and content.</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><strong>Support microformats: </strong>So other readers/machines can understand/read your content. I wished there were more good arguments to support Microformats but since it&#x27;s so simple to do I don&#x27;t see a reason not to.</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><strong>Skip the algorithm: </strong>Pick the news sources and authors you want to know about and find a way to subscribe to their content.</span></li></ul><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">As a content platform/product builder I have to admit that I feel we could do more to support a more balanced and open web.</p><h1>This Blog</h1><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Owning your own domain is the most important in implementing the IndieWeb. The domain is owned by me personally and the blog is hosted on Vercel but I can move it any time I want. <a class="prezly-slate-link" href="https://lifelog.be/how-i-built-this-blog" target="_self">More about how I built this blog.</a> And lately, I&#x27;ve been trying to make sure to post on my website first, and then share links/threads on the social web.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Still, I found that the blog wasn&#x27;t Indie enough with some issues like:</p><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">RSS feed without the full content</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Lack of microformats</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Unable to &#x27;subscribe for updates&#x27; in a specific category</span></li></ul><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">And with a few hours to spare I decided it was time to change that.</p><h2>Microformats</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">It took me a few minutes (<a class="prezly-slate-link" href="https://github.com/digitalbase/lifelog-nextjs/commit/b10d6fa4f63d922947ba7494b70eb4b6c052293a" target="_blank" rel="noreferrer">see commit</a>) to add some tags to the HTML structure to support the most common MicroFormats like `dt-published` and `h-entry`. I also added an h-card to every page. </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Strangely enough, the validator at https://indiewebify.me/ is not detecting the micro format tags. </p><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://indiewebify.me/validate-h-card/?url=https%3A%2F%2Flifelog.be" target="_blank" rel="noreferrer">Validating h-card result</a></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://indiewebify.me/validate-h-entry/?url=https%3A%2F%2Fwww.lifelog.be%2Fninety-days-in-a-new-country" target="_blank" rel="noreferrer">Validating h-entry result</a></span></li></ul><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Needs more investigation.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"><em>Update: </em><a class="prezly-slate-link" href="https://twitter.com/tommorris" target="_blank" rel="noreferrer"><em>Tom Morris</em></a><em> (maintained of the </em><a class="prezly-slate-link" href="https://github.com/microformats/mf2py/" target="_blank" rel="noreferrer"><em>Python Microparser library</em></a><em>) reached out to tell it this is </em><a class="prezly-slate-link" href="https://github.com/microformats/mf2py/issues/170" target="_blank" rel="noreferrer"><em>a bug</em></a><em> on their side (conflict with Tailwind classes). It&#x27;s probably a bug against the microformats spec but I don&#x27;t want to go into this rabbit hole.</em></p><h2>(RSS) Feeds</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">For RSS feeds I implemented an API route to query the Prezly API <a class="prezly-slate-link" href="https://www.npmjs.com/package/@prezly/sdk" target="_blank" rel="noreferrer">using the SDK</a> and generating an RSS feed.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">API code:</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">https://github.com/digitalbase/lifelog-nextjs/blob/main/pages/api/rss/index.tsx</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">The tricky part was how to turn complex content blocks (gallery, embed, images with zoom) generated by the <a class="prezly-slate-link" href="https://www.npmjs.com/package/@prezly/content-renderer-react-js" target="_blank" rel="noreferrer">Slate Content Renderer</a> into something that works for dumb(er) RSS readers. </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">ℹ In case you didn&#x27;t understand this part. Prezly is using <a class="prezly-slate-link" href="https://developers.prezly.com/docs/api/ZG9jOjU2NjAyNTY-prezly-content-format" target="_blank" rel="noreferrer">an internal document format </a>(based on SlateJS). The Slate Content Renderer package turns that tree structure into React components to be used whenever the content is displayed. </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">To address that I ended up creating a SlateFeedRenderer class that dumbed down the content to something that would be supported by non-JS readers.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">https://github.com/digitalbase/lifelog-nextjs/blob/main/components/SlateFeedRenderer/SlateFeedRenderer.tsx</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">This is still a work in progress but I got the images and galleries to work by cutting out extra zoom functionality and replacing it with simple image blocks.</p><img src="https://cdn.uc.assets.prezly.com/1f8a56d9-c6a2-4207-b0c9-cc0eb3300f29/-/resize/1200/-/format/auto/Untitled.png" alt="Image"/><figcaption>On the left: Blog post with gallery | On the right: Same post in NetNewsWire (RSS Reader)</figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">This turned out to be much easier than I expected cloning the original Gallery block and cutting out the extras leaving me with a simple loop that generates &lt;img&gt; blocks.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">https://github.com/digitalbase/lifelog-nextjs/blob/main/components/SlateFeedRenderer/components/RssGallery.tsx</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Because I decided to use the <a class="prezly-slate-link" href="https://www.npmjs.com/package/feed" target="_blank" rel="noreferrer">the Feed package</a> (by <a class="prezly-slate-link" href="https://twitter.com/jpmonette" target="_blank" rel="noreferrer">@jpmonette)</a> I also implemented an Atom (RSS 1) and JSON feed.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Find the feeds here:</p><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://www.lifelog.be/feed.xml" target="_blank" rel="noreferrer">RSS 2.0</a></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://www.lifelog.be/feed.atom" target="_blank" rel="noreferrer">Atom (RSS 1.0)</a></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://www.lifelog.be/feed.json" target="_blank" rel="noreferrer">JSON</a></span></li></ul><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Lastly, I sprinkled the interface (footer, about page, homepage) with some feed links and gave every category it&#x27;s own feed. </p><img src="https://cdn.uc.assets.prezly.com/7935fe1c-8a58-4f50-a432-8439861d8c59/-/resize/1200/-/format/auto/Screenshot%20at%20November%20%2014%20-%20000045%402x.png" alt="Image"/><figcaption>RSS Feeds per category/topic</figcaption><h1>As a product builder</h1><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">I will play with this a little more and figure out which of those concepts I need to bring to Prezly. The obvious one is better RSS feeds but there might more things we can do that make the web just a tiny bit more decentralised and Indie.</p><hr class="prezly-slate-divider"/><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Good reads:</p><p><a href="https://mxb.dev/blog/the-indieweb-for-everyone/">The IndieWeb for Everyone</a></p><p><a href="https://matthiasott.com/notes/syndicating-posts-personal-website-twitter-mastodon">Syndicating Posts from Your Personal Website to Twitter and Mastodon · Matthias Ott – User Experience Designer</a></p><p><a href="https://framatube.org/w/4294a720-f263-4ea4-9392-cf9cea4d5277">What is the Fediverse?</a></p><p><a href="https://sogrady.org/2022/11/13/twitter-mastodon-and-the-fediverse-i-have-questions/">Twitter, Mastodon and the Fediverse: I Have Questions</a></p><p><a href="https://tiim.ch/blog/2022-12-indiewebifying-my-website-part-1">IndieWebifying my Website Part 1 - Microformats and Webmentions</a></p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p></section></div>]]></description><link>undefined/indiewebifying-my-blog-part-1</link><guid isPermaLink="true">undefined/indiewebifying-my-blog-part-1</guid><pubDate>Mon, 14 Nov 2022 15:22:00 GMT</pubDate></item><item><title><![CDATA[What we learned in 3 months of using the Shape-up approach]]></title><description><![CDATA[<link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/bda0691a-5a9f-4f15-8a89-8798861b190b/-/resize/1200/-/format/auto/Screenshot%20at%20October%20%2026%20-%20000025.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/439cdfb3-4af0-4839-8a3c-217dd3d2978f/-/resize/1200/-/format/auto/Screenshot%20at%20October%20%2026%20-%20000027.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/ee1dafe5-0a8b-4ce9-bc44-7afb5189a3a8/-/resize/1200/-/format/auto/Screenshot%20at%20October%20%2026%20-%20000026.png"/><div class="ContentRenderer_renderer__tPJbs"><section class="prezly-slate-document" data-version="0.50"><h2> </h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"><a class="prezly-slate-link" href="https://www.lifelog.be/multiple-product-teams" target="_self">Adopting Basecamps &#x27;Shape-Up&#x27; method at Prezly</a> transformed our company. In an <a class="prezly-slate-link" href="https://www.youtube.com/watch?v=h_8M23wVjXk" target="_blank" rel="noreferrer">introductory video</a> by Ryan Singer (author of the method) he talked about the three main reasons people are interested in the method</p><ol class="prezly-slate-list prezly-slate-list--numbered prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><u>We&#x27;re growing</u>. Help me run multiple, parallel product teams</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><u>We&#x27;re slowing down</u>. Help us get back to shipping fast</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><u>There&#x27;s got to be a better way.</u> </span></li></ol><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Looking back I think we were struggling with all three. Although we tripled the product team we never really got the performance we knew we could have. </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">And on the company retreat, someone that recently joined the company asked me if I had ever read or tried Shape-Up which I think she used at a previous company. After coming home I immediately ordered the book and started reading it. </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"><a class="prezly-slate-link" href="https://basecamp.com/shapeup/0.3-chapter-01" target="_blank" rel="noreferrer">The introduction chapter</a> opened my eyes and I wanted to give it a go before even fully finishing the book. I did take a few more days to process the book and read any additional information I could find.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Just to give you an idea about all big stuff we shipped in the last 3 months:</p><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Multi-workspace support (<a class="prezly-slate-link" href="https://www.prezly.com/changelog/manage-multiple-prezly-accounts--switch-between-them-anytime" target="_blank" rel="noreferrer">anouncement</a>)</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Theme showcase (<a class="prezly-slate-link" href="https://www.prezly.com/themes" target="_blank" rel="noreferrer">/themes on website</a>)</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Allowing customers to trial a newsroom (live / not live status)</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Improve the editor (ability to add blocks) (<a class="prezly-slate-link" href="https://www.lifelog.be/building-an-editor-decreasing-the-time-to-publish-by-44" target="_blank" rel="noreferrer">blog post</a>)</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Newsroom Analytics through Plausible Analytics (<a class="prezly-slate-link" href="https://www.prezly.com/changelog/analytics-dashboard-now-in-testing" target="_blank" rel="noreferrer">announcement</a>)</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Snippets (<a class="prezly-slate-link" href="https://www.prezly.com/changelog/save-frequently-used-content-as-snippets-and-use-them-in-stories-and-emails" target="_blank" rel="noreferrer">announcement</a>)</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Editor Placeholders (<a class="prezly-slate-link" href="https://www.prezly.com/changelog/placeholders-for-content-in-stories-and-emails" target="_blank" rel="noreferrer">announcement</a>)</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Get rid of the newsroom picker (<a class="prezly-slate-link" href="https://www.prezly.com/changelog/newsroom-statuses--other-fixes--improvements" target="_blank" rel="noreferrer">announcement</a>)</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Comparing Prezly to our competitors on the website (<a class="prezly-slate-link" href="https://www.prezly.com/vs/mailchimp" target="_blank" rel="noreferrer">/vs/mailchimp on website</a>)</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Rebuild the gallery feature (<a class="prezly-slate-link" href="https://www.prezly.com/changelog/introducing-the-new-media-galleries-page" target="_blank" rel="noreferrer">announcement</a>)</span></li></ul><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">This is a huge list and I couldn&#x27;t be prouder of the team and the quality of the work they shipped even though it was the holiday season and our team was severely impacted by the war in Ukraine and events in Iran.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Here are a few things we learned from the book that I hope can help you to ship faster and better.</p><h1>Stick to the (shaping) process</h1><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">It&#x27;s natural for founders and people with influence on the betting process to push for the things they believe in. That is the whole concept of &#x27;<a class="prezly-slate-link" href="https://basecamp.com/shapeup/2.2-chapter-08" target="_blank" rel="noreferrer">the betting process</a>&#x27;. But the most important thing is to follow all due steps.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">I&#x27;ve caught myself and my co-founder rushing certain pitches and making them ready for betting when they are not. I mean how can we decide to improve the /help section on the website without thoroughly consulting with the Customer Success team? One time I was writing a new pitch on the night before we had the betting session hoping to include my own awesome idea.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Following the process means involving the right people, getting smart people to try and find some gaps in your pitch and giving everyone enough time to provide feedback.</p><h1>Don&#x27;t be too negative</h1><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">It&#x27;s easy to try and poke holes when you&#x27;re the first one going in to review a pitch. Be aware that it&#x27;s often the first time people are formally writing down their idea.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">You want to encourage people to write more.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">So make sure to find the right tone in your message. My personal communication style is often too short/direct which might gets interpreted as killing the pitch. Don&#x27;t be that guy!</p><img src="https://cdn.uc.assets.prezly.com/bda0691a-5a9f-4f15-8a89-8798861b190b/-/resize/1200/-/format/auto/Screenshot%20at%20October%20%2026%20-%20000025.png" alt="Image"/><figcaption>A much better example!</figcaption><h1>Be ready to cancel a project</h1><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">At the beginning of adopting Shape-up, we were oftentimes under or over-shaping the projects. This allowed poor pitches to make it to the product team which is a recipe for failure.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Some signals that there is something wrong with the pitch:</p><ol class="prezly-slate-list prezly-slate-list--numbered prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Team members are very confused in the beginning (scoping) of the project</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Open comments/concerns in the pitch that were not addressed by the author</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">A long list of documented Rabbit holes</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">The solution is too vague. &#x27;<em>Build a calendar&#x27; </em>or &#x27;<em>Implement a notification system&#x27;</em> is not enough direction for the team to act on</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">The assigned team has major concerns/thoughts not addressed in the pitch</span></li></ol><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">At one point we decided to cancel a project a few days after we started it because there were just too many unknowns.</p><img src="https://cdn.uc.assets.prezly.com/439cdfb3-4af0-4839-8a3c-217dd3d2978f/-/resize/1200/-/format/auto/Screenshot%20at%20October%20%2026%20-%20000027.png" alt="Image"/><figcaption>Announcing the stop of a project</figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">In the meanwhile, this project has been re-shaped and made it through a more thorough review process. <a class="prezly-slate-link" href="https://www.prezly.com/changelog/introducing-the-new-media-galleries-page" target="_blank" rel="noreferrer">And it&#x27;s live now</a>!</p><h1>Collaborative Shaping = gold</h1><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">I found the best pitches to be written by multiple people. It often starts with a rough idea that someone writes down - a problem statement and a concept solution and other people start pitching in with different ways to solve this problem.</p><img src="https://cdn.uc.assets.prezly.com/ee1dafe5-0a8b-4ce9-bc44-7afb5189a3a8/-/resize/1200/-/format/auto/Screenshot%20at%20October%20%2026%20-%20000026.png" alt="Image"/><figcaption>This is what you want to see</figcaption><h1>Make the team accountable</h1><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">The whole concept only works if you make the team responsible for the outcome and take away as many distractions as possible. No interruptions.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">But accountability works both ways.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"><em>(this part sounds passive-aggressive reading it now so let me add some more context). ​<br/>​<!-- -->​<br/>​</em>What I am trying to say is that as a pitch author and voter you have a responsibility to make sure the pitch is coherent, well-defined and generally makes sense.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">But as a product team, you have the responsibility of taking that input (the pitch document) as an important guideline and starting point.</p><hr class="prezly-slate-divider"/><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">In one project we had the team dismiss a key part of the solution. ​ Not only did they drop a part of the solution, but they also didn&#x27;t communicate that until the end of the project.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">When the final project was announced I learned that they felt that one part of the pitch was not critical and too challenging within the appetite (two weeks) of this project. And because we repeated a lot teams can make their own decisions (<a class="prezly-slate-link" href="https://basecamp.com/shapeup/3.1-chapter-10" target="_blank" rel="noreferrer">Chapter 10. Hand over responsability</a>) the team assumed that that was ok. My opinion as an author of the pitch was that it was not ok.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">This started an interesting conversation with unanswered questions:</p><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><em>Can the team leave out parts of the &#x27;solution&#x27; part of a pitch?</em></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><em>Does the author of the pitch need to be consulted in that case?</em></span></li></ul><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">The answers are probably even more complex because it depends on the pitch itself and how essential this component is to address the initial problem outlined at the start of the pitch.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Once I learned about this I sent some feedback to the team:</p><blockquote class="prezly-slate-quote prezly-slate-quote--align-inherit">Hi team, today (two days before the project is finishing) I learned that you decided to drop a key part of the documented solution. </blockquote><blockquote class="prezly-slate-quote prezly-slate-quote--align-inherit">This is not the way to do it though. The pitch was reviewed by some of you before the project started and that component was a key part of addressing the project&#x27;s problem statement.</blockquote><blockquote class="prezly-slate-quote prezly-slate-quote--align-inherit">If you want to drop a part of the solution you need to do it at the beginning of the project and properly communicate about it. </blockquote><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Two weeks later I still think this was the right call but I am also more aware that I need to communicate better about why we&#x27;re working on a pitch and the boundaries of freedom when it comes to the building phase.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">In this specific example, we solved it <a class="prezly-slate-link" href="https://basecamp.com/shapeup/3.5-chapter-14#when-to-extend-a-project" target="_blank" rel="noreferrer">by extending the project by a few days</a> and the team worked on the missing part and completed the full project in 2.5 weeks instead of the 2 allocated weeks. We are still working out how best to communicate scope changes during projects to avoid surprises - it’s a learning experience for all.</p><h1>Spend enough time on the problem</h1><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">I&#x27;ve created a template for pitches that provides some format when writing a pitch. It contains 4 chapters: Problem, Solution, Rabbit Holes and No-Gos. But on numerous occasions I found myself crafting a pitch to only spend a few minutes on the problem part of the pitch. But how can you come up with a good solution without fully understanding the problem, to begin with? </p><blockquote class="prezly-slate-quote prezly-slate-quote--align-inherit">It’s critical to always present both a problem and a solution together. It sounds like an obvious point but it’s surprising how often teams, our own included, jump to a solution with the assumption that it’s obvious why it’s a good idea to build this thing. <em>(From </em><a class="prezly-slate-link" href="https://basecamp.com/shapeup/1.5-chapter-06#ingredient-1-problem" target="_blank" rel="noreferrer"><em>the Basecamp book)</em></a></blockquote><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">I&#x27;ve created a template for pitches that provides some format when writing a pitch. It contains 4 chapters: Problem, Solution, Rabbit Holes and No-Gos. But on numerous occasions I found myself crafting a pitch to only spend a few minutes on the problem part of the pitch. But how can you come up with a good solution without fully understanding the problem, to begin with? </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Looking back on all the projects we&#x27;ve been working on <strong>I am not 100% sure these are the most impactful things for us to work on</strong>. But these were the only pitches that were ready for betting.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">ℹ An important part of the betting process should be discussing the importance of a problem and how it&#x27;s impacting the business. The answer to that question will determine the likelihood of a project being picked. Instead, we find ourselves discussing the pitched solution most of the time without taking enough time to talk about the problem this pitch would be solving.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Secondly, I don&#x27;t think we have enough ways to remind team members and ourselves to work on the most important company problems. It&#x27;s much easier to scope a pitch to improve an existing feature than to write a pitch about something experimental with a much larger potential. </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">In the past, we&#x27;ve been careful with more experimental/wild ideas because we didn&#x27;t want those projects to get out of control (larger scope, take much longer than anticipated). But with the new approach and <a class="prezly-slate-link" href="https://basecamp.com/shapeup/2.2-chapter-08#the-circuit-breaker" target="_blank" rel="noreferrer">the concept of circuit-breaker vs appetite</a>, we need to push ourselves to get back to more daring ideas that might address some of the core issues we&#x27;ve identified for our company.</p><h1>No-gos are super important</h1><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">People will try to hijack a project to introduce some changes they always wanted which aren&#x27;t always tied to the pitch. And that&#x27;s ok. The whole idea is based on empowering the teams to make their own decisions.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">But you want to limit that.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">That&#x27;s why I think it&#x27;s important to explicitly try and forecast that dynamic and to list things that you do not want to see people go into as part of the project.</p><hr class="prezly-slate-divider"/><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">We&#x27;ll continue to make slight adjustments to the way we work while we&#x27;re exploring how to use this new approach in other parts of the business like Marketing, Sales or Customer Success.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p><h1> </h1></section></div>]]></description><link>undefined/what-we-learned-in-3-months-of-using-the-shape-up-approach</link><guid isPermaLink="true">undefined/what-we-learned-in-3-months-of-using-the-shape-up-approach</guid><pubDate>Wed, 26 Oct 2022 12:26:00 GMT</pubDate></item><item><title><![CDATA[Ninety days in a new country]]></title><description><![CDATA[<link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/8fbbd8e6-52b3-4a7a-bafb-a2c25149bb37/-/resize/1200/-/format/auto/IMG_2147.jpeg"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/923c2ba1-e18c-472b-b8f3-2dae95ed0193/-/resize/1200/-/format/auto/IMG_1917.jpeg"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/2447f8c9-79c5-4c7d-8c08-4f033743fce5/-/resize/1200/-/format/auto/IMG_1916.jpeg"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/c512d875-fa8f-4f4a-9215-61dca5a27871/-/resize/1200/-/format/auto/IMG_1914.jpeg"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/2f4bf3ee-ec8b-48ed-a4f6-40703642fcc0/-/resize/1200/-/format/auto/IMG_1910.jpeg"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/ce5d2721-e6e1-445a-8b77-3a1060ea0485/-/resize/1200/-/format/auto/IMG_1817.jpeg"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/ada35ea1-edeb-4788-b08f-30122a3fab37/-/resize/1200/-/format/auto/IMG_2148.jpeg"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/cd95fcb0-8984-4285-b7bf-924f417dd3d4/-/resize/1200/-/format/auto/ABY_6722.jpg"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/805ab694-ae20-4e3b-94ef-760632068000/-/resize/1200/-/format/auto/ABY_6725.jpg"/><div class="ContentRenderer_renderer__tPJbs"><section class="prezly-slate-document" data-version="0.50"><h2> </h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">It&#x27;s been almost three months since <a class="prezly-slate-link" href="https://www.lifelog.be/moving-to-spain" target="_self">we moved to Spain</a> and I figured it was time for an update as <a class="prezly-slate-link" href="https://www.lifelog.be/back-to-school" target="_self">the last one is dated from the beginning of September</a>.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">We&#x27;ve been busy fixing the house, getting back to our jobs and entertaining guests. In September and October, we had a lot of guests/family over which is awesome but sometimes a little exhausting to try and make sure they have a good time.</p><h2>Kids &amp; School</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">We never expected this to be smooth...Going to school in a new country with another culture and language takes some time. On most days the kids are happy and eager to go to school. From time to time, one of them claims they want to go back to Belgium or stay home…but I am not reading too much into it at this point...</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">After school and during the weekends they are really starting to appreciate the town and the super friendly neighbours. Regular visits to the sheep farm, playing with the dogs outside or taking a cold bath in the small pond in front of the house. Almost always accompanied by Spanish sunshine.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">The kids are rapidly learning Catalan and when I asked them yesterday about how much % of what the teacher is saying they understand they all seemed to agree with 50%. Fifty!</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Step by step Annelies (but mostly Robbert) is convincing the school that he should be enrolled in the 3rd year and not the 1st. It&#x27;s been quite a frustrating experience as the school (but mostly the district) did not want to accept the numerous (official) Belgian documentation (letter from the school, exams tests, grades, ...) that Robbert was 2 years ahead of his age group. They finally agreed to test him from which they learned what we were trying to tell them all this time. Starting last week Robbert is now enrolled in part of the 1st and the 3rd year of what they call &#x27;Institut&#x27;.<br/>​<!-- -->​<br/>​<!-- -->Both Marcel and Lucie have signed up for Climbing classes at the local sports centre. The first lesson was a great success!</p><h2>House Renovation</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">I have to admit I underestimated the work required to make this an awesome place. In Catalan, they would say &#x27;Poc a Poc&#x27; but since winter is coming and it&#x27;s getting colder we found ourselves becoming impatient and slightly frustrated.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">With that, we also decided to tile the living room ourselves and to make it worse we chose a small tile where every floor takes forever. We ended up tiling the floor with over 3000 small 5x15cm ceramic tiles. Annelies helped me out a lot, especially with the 2nd part that I didn&#x27;t catch on the timelapse. Also, notice how in the beginning the kids are excited to help out but they get bored after the first few hours :-)</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">At the same time, I moved the central heating system to another room in the basement and therefore I had to extend and reconnect all the old copper tubes which ended up taking much longer than expected. Recycling and fitting copper pipes is a time-consuming task!</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Now I am learning and reading about how to install an underfloor heating system to an existing (gasoline-based) heating system. Temperature sensors, pumps, manifolds, and three-way zone valves...</p><h2>Visits to Belgium</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">This week I&#x27;m going back to Belgium for the first time as I need to fix some things in the (old) house and get some time with colleagues and <a class="prezly-slate-link" href="https://www.jailhouse.be/" target="_blank" rel="noreferrer">Jesse</a>.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Annelies had to get back to Belgium for her job 2 weeks ago and it looks like she&#x27;ll be doing more regular visits as for me I&#x27;m planning to go once every 3/4 months.</p><h2>Mushrooms &amp; Pizza</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">I&#x27;ve started to get into collecting mushrooms in the forest but wasn&#x27;t able to free up enough time to really get into it. The first trips were very nervous as I didn&#x27;t really understand which ones were eatable and which ones were toxic. So I learned about the 5 most common types of Catalonia and learned where they grow and how to recognise them. Here is what I found so far:</p><img src="https://cdn.uc.assets.prezly.com/8fbbd8e6-52b3-4a7a-bafb-a2c25149bb37/-/resize/1200/-/format/auto/IMG_2147.jpeg" alt="Image"/><img src="https://cdn.uc.assets.prezly.com/923c2ba1-e18c-472b-b8f3-2dae95ed0193/-/resize/1200/-/format/auto/IMG_1917.jpeg" alt="Image"/><img src="https://cdn.uc.assets.prezly.com/2447f8c9-79c5-4c7d-8c08-4f033743fce5/-/resize/1200/-/format/auto/IMG_1916.jpeg" alt="Image"/><img src="https://cdn.uc.assets.prezly.com/c512d875-fa8f-4f4a-9215-61dca5a27871/-/resize/1200/-/format/auto/IMG_1914.jpeg" alt="Image"/><img src="https://cdn.uc.assets.prezly.com/2f4bf3ee-ec8b-48ed-a4f6-40703642fcc0/-/resize/1200/-/format/auto/IMG_1910.jpeg" alt="Image"/><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">I always fantasised about building my own wood based pizza oven. In Belgium the garden didn&#x27;t really allow for it plus maybe busy life and the climate didn&#x27;t allow us to enjoy that oven to it&#x27;s fullest. Excuses, excuses. I know.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">So coming to Spain I took it to heart to build the perfect pizza oven. I&#x27;ve done my fair share of research (watching youtube videos 😬) about building the perfect pizza oven. But because there is so much work in the house I couldn&#x27;t prioritise this right now. That is untill I bumped <a class="prezly-slate-link" href="https://www.youtube.com/watch?v=tHMQ_QQJtbY" target="_blank" rel="noreferrer">on this video</a> of a guy making a quick pizza oven with a few bricks and a heat resistant plate.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">A few hours later, and 30 euros lighter after buying some fire-resistant bricks I put together an even faster/crappier version of this concept.</p><img src="https://cdn.uc.assets.prezly.com/ce5d2721-e6e1-445a-8b77-3a1060ea0485/-/resize/1200/-/format/auto/IMG_1817.jpeg" alt="Image"/><img src="https://cdn.uc.assets.prezly.com/ada35ea1-edeb-4788-b08f-30122a3fab37/-/resize/1200/-/format/auto/IMG_2148.jpeg" alt="Image"/><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">And after one test run in the very messy garden (left picture) we moved the oven to the small town square. Since then we&#x27;ve had more than 5 open pizza parties with visitors and neighbours. Great stuff!</p><img src="https://cdn.uc.assets.prezly.com/cd95fcb0-8984-4285-b7bf-924f417dd3d4/-/resize/1200/-/format/auto/ABY_6722.jpg" alt="Image"/><img src="https://cdn.uc.assets.prezly.com/805ab694-ae20-4e3b-94ef-760632068000/-/resize/1200/-/format/auto/ABY_6725.jpg" alt="Image"/></section></div>]]></description><link>undefined/ninety-days-in-a-new-country</link><guid isPermaLink="true">undefined/ninety-days-in-a-new-country</guid><pubDate>Mon, 24 Oct 2022 10:36:00 GMT</pubDate></item><item><title><![CDATA[Mac: Opening Notion/Linear links in the right app]]></title><description><![CDATA[<link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/747aaaf8-3994-4201-af37-c03da628ebbd/-/resize/1200/-/format/auto/Screenshot%20at%20October%20%2020%20-%20000024%402x.png"/><div class="ContentRenderer_renderer__tPJbs"><section class="prezly-slate-document" data-version="0.50"><h2> </h2><div class="prezly-slate-callout prezly-slate-callout--align-left" data-icon="💡"><p>This article is updated. I now do the same thing using <a class="prezly-slate-link" href="https://hyperkey.app/" target="_self">hyperkey.app</a> and an app called <a class="prezly-slate-link" href="https://apps.apple.com/us/app/velja/id1607635845?mt=12" target="_blank" rel="noreferrer">Velja</a> which does everything described in this article</p></div><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">The two (web) apps I use the most in my day-to-day Prezly work are <a class="prezly-slate-link" href="http://notion.so/" target="_blank" rel="noreferrer">Notion</a> and <a class="prezly-slate-link" href="https://linear.app/" target="_blank" rel="noreferrer">Linear</a>. I do prefer their native (Electron based) apps.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Using <a class="prezly-slate-link" href="https://www.lifelog.be/uses" target="_self">BetterTouchTool</a> and <a class="prezly-slate-link" href="https://updates.folivora.ai/bettertouchtool_release_notes.html" target="_blank" rel="noreferrer">the Hyper-key</a> I have dedicated keys to switch to those apps. In my case <em>Hyper+L</em> opens Linear where <em>Hyper+N</em> switches to Notion. </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">But as both apps link to each other a lot and we share a lot of Linear and Notion links through email, slack or other messaging apps they always open in my browser.</p><h2>BTT to the rescue</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">I have configured BTT (BetterTouchTool) as my default browser and set up some automation to inspect the URL and launch them in the right browser before falling back to <a class="prezly-slate-link" href="https://brave.com/" target="_blank" rel="noreferrer">my default browser.</a></p><img src="https://cdn.uc.assets.prezly.com/747aaaf8-3994-4201-af37-c03da628ebbd/-/resize/1200/-/format/auto/Screenshot%20at%20October%20%2020%20-%20000024%402x.png" alt="Image"/><figcaption>Configuration in BTT</figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">And then I&#x27;m using Javascript to launch the right app and pass the URL.</p><p><a href="https://gist.github.com/digitalbase/f95e5b1bd011b7fe4305471a61b29701">Github Gist: <!-- -->Notion launch.js</a></p><p><a href="https://gist.github.com/digitalbase/0d0cd9395f061e14ca91ec2ebb14fbf1">Github Gist: <!-- -->Launch Linear.js</a></p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">This set-up works pretty well. It does not work within the browser though. So if you&#x27;re clicking Notion/Linear links from a webpage (already in the browser) this automation does not kick in as it does not pass through the OS link handling.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p></section></div>]]></description><link>undefined/mac-opening-notionlinear-links-in-the-right-app</link><guid isPermaLink="true">undefined/mac-opening-notionlinear-links-in-the-right-app</guid><pubDate>Thu, 20 Oct 2022 06:37:00 GMT</pubDate></item><item><title><![CDATA[Building an Editor: Decreasing the time to publish (by 44%)]]></title><description><![CDATA[<link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/ed91ce3e-0297-45de-bd57-acffb2937e01/-/resize/1200/-/format/auto/Screenshot%20at%20October%20%2018%20-%20000017.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/671d5cff-44c0-4ec8-a397-e9624df64929/-/resize/1200/-/format/auto/image.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/e40212b1-49e7-412e-b1a0-d08930b0f5b5/-/resize/1200/-/format/auto/Screenshot%20at%20October%20%2018%20-%20000018.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/5fdb468e-d1fe-4cf3-9f68-c22242f2e305/-/resize/1200/-/format/auto/Screenshot%20at%20October%20%2018%20-%20000019.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/e5d8f2e8-58d5-4e04-b041-559783236293/-/format/auto/CleanShot%202022-03-07%20at%2015.39.55.gif"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/305ad2fb-d46a-4203-8249-80a64d2bf267/-/format/auto/Screenshot%20at%20October%20%2018%20-%20000012.gif"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/a9d5558c-4dff-44c6-9f71-b3db338c0699/-/resize/1200/-/format/auto/Screenshot%20at%20October%20%2018%20-%20000015.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/2853cda7-5834-431a-ab8a-168ace3e2b65/-/resize/1200/-/format/auto/Screenshot%20at%20October%20%2018%20-%20000016.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/d0f0695b-fd55-4658-9f51-f759a16c13df/-/resize/1200/-/format/auto/image.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/09b87df9-77f1-4e42-a0a9-81fc5a5827af/-/resize/1200/-/format/auto/image.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/76e39d83-7454-42ec-88ea-c10c13590a06/-/resize/1200/-/format/auto/image.png"/><div class="ContentRenderer_renderer__tPJbs"><section class="prezly-slate-document" data-version="0.50"><h2> </h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Writing and publishing a blog post or press release is at the core of the Prezly product and we want to make it better, faster, more powerful and easier to use.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">But building an editor is bloody hard and in a post last year <a class="prezly-slate-link" href="https://www.lifelog.be/create-an-editing-experience-people-love" target="_blank" rel="noreferrer">I listed a number of things I find important</a> when it comes to the writing experience.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Since then we&#x27;ve been spending a lot of time on improving the Prezly editor. One of the ways to measure our progress is to look at the time it takes for our customers to complete the journey from creating the draft to the final publication of that story.</p><img src="https://cdn.uc.assets.prezly.com/ed91ce3e-0297-45de-bd57-acffb2937e01/-/resize/1200/-/format/auto/Screenshot%20at%20October%20%2018%20-%20000017.png" alt="Image"/><figcaption>Time to publish a story (in minutes)</figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">In about 1 year we have decreased the time from an average of 33.8 minutes to 22.6 today. In this post, I am going to highlight the many changes we made.</p><h1>Adding blocks to a story</h1><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">One of the main ways to insert anything else than text is to use what we call &#x27;<em>the plus menu</em>&#x27; which is a lot of CMS/content editing platforms perhaps like Notion.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">We noticed through qualitative and quantitative feedback that some of our customers didn&#x27;t know that there is a [+] menu in the first place. That&#x27;s why we improved the empty state and added a tooltip and improved copy to encourage customers to try it.</p><img src="https://cdn.uc.assets.prezly.com/671d5cff-44c0-4ec8-a397-e9624df64929/-/resize/1200/-/format/auto/image.png" alt="Image"/><figcaption>Empty state</figcaption><h1>The [+] plus menu</h1><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">The menu is a powerful tool to mix text with any of the other blocks that are available in Prezly like galleries, videos, file attachments or regular embeds.</p><img src="https://cdn.uc.assets.prezly.com/e40212b1-49e7-412e-b1a0-d08930b0f5b5/-/resize/1200/-/format/auto/Screenshot%20at%20October%20%2018%20-%20000018.png" alt="Image"/><figcaption>Different variations of the [+] plus menu</figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">We looked at 100s of sessions of how people were using the + menu and made a lot of small/improvements:</p><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Improved positioning of the menu on different viewports or when scrolling</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Better (fuzzy) search</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Support alternative keywords (aliases) for blocks. Searching &#x27;<em>youtube</em>&#x27; will find the video block</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Added a suggestions menu with the most used/important blocks</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Smarter positioning of the flyout menu (when scrolling). See below.</span></li></ul><h1>In-between content</h1><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Once you have a story with some content you might want to add some multimedia in the middle. One of the challenges is that the + menu icon only shows up on an empty paragraph. And to add an empty paragraph you need to move your cursor to the beginning or end of a paragraph and hit <em>enter</em>.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">This works if it&#x27;s a paragraph but becomes annoying if you want to add a block between two other blocks and even impossible if the first element in the story is a multi-media block 😱.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Initially, we wanted to solve this with icons that allow you to create an empty paragraph before/after similar <a class="prezly-slate-link" href="https://ckeditor.com/ckeditor-5/demo/" target="_blank" rel="noreferrer">to how CKEditor is solving it.</a></p><a href="https://ckeditor.com/ckeditor-5/demo/#balloon"><img src="https://cdn.uc.assets.prezly.com/5fdb468e-d1fe-4cf3-9f68-c22242f2e305/-/resize/1200/-/format/auto/Screenshot%20at%20October%20%2018%20-%20000019.png" alt="Image"/><figcaption>CKEditor - Insert before/after</figcaption></a><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">But the prototype we built came with some challenges and looked messy with the existing options/block menu we already have. </p><img src="https://cdn.uc.assets.prezly.com/e5d8f2e8-58d5-4e04-b041-559783236293/-/format/auto/CleanShot%202022-03-07%20at%2015.39.55.gif" alt="Image"/><figcaption> </figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">We landed on some virtual whitespace before/after a block that can be used to insert a new paragraph. </p><img src="https://cdn.uc.assets.prezly.com/305ad2fb-d46a-4203-8249-80a64d2bf267/-/format/auto/Screenshot%20at%20October%20%2018%20-%20000012.gif" alt="Image"/><figcaption>Insert before/after</figcaption><h2>Keyboard Shortcuts</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">In addition to a workflow that involves touching your mouse we also added support for keyboard shortcuts:</p><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><strong>Ctrl + Enter</strong> (<strong>Cmd + Enter </strong>on<strong> 🍏</strong>) to insert <em>below</em> the current block</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><strong>Ctrl + Shift + Enter</strong> (<strong>Cmd + Shift </strong>on<strong> 🍏</strong>) to insert <em>above</em> the current block</span></li></ul><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">The goal is to add additional keyboard shortcuts for common-used actions like inserting a video, linking the selected text, etc...</p><h1>Component Controls + Placeholders</h1><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">We cleaned up the UI of the component controls and made them dark. There was a lot of discussion around the dark UI but the main idea that ended up making it was that this way it contrasts with the rest of the editing experience highlighting that the dark menus are extra things/settings you can do with every editor block.</p><img src="https://cdn.uc.assets.prezly.com/a9d5558c-4dff-44c6-9f71-b3db338c0699/-/resize/1200/-/format/auto/Screenshot%20at%20October%20%2018%20-%20000015.png" alt="Image"/><figcaption>(dark) UI of the different editor components</figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">With that, we also touched the text menu and the campaign composer menu to all be dark and provide a consistent editing experience.</p><img src="https://cdn.uc.assets.prezly.com/2853cda7-5834-431a-ab8a-168ace3e2b65/-/resize/1200/-/format/auto/Screenshot%20at%20October%20%2018%20-%20000016.png" alt="Image"/><figcaption>(dark) text formatting menu</figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Additionally, we made the behaviour to add blocks more consistent where every time you want to insert a block we add a &#x27;placeholder&#x27; in the editor. This placeholder can be used to provide more guidance/help links and implement some draggable zones where an image (or multiple images) can be dragged on top of the placeholder.</p><h1>Pick a site before you start</h1><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Because Prezly supports multiple sites it&#x27;s important to know in which space you are currently editing, because some settings and editing options are tied to the context. </p><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">The available languages/translations are linked to the newsroom settings and defaults</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Newsroom contacts (think Author cards) are tied to the context of the newsroom</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Preview URLs are different</span></li></ul><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">For any customer that had more than one space, we had some magic/hard-to-explain rules and combinations that guessed the site you wanted to create this story in. The problem was that sometimes we guessed wrong which made the editing experience much harder than it should be.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">We&#x27;d see editors trying to change the language of their story, or insert a contact card that wasn&#x27;t there. All because we picked the wrong site.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">The decision to solve this was quite simple:</p><h2><strong>1) Pick your newsroom</strong></h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">The idea is to add a little friction to the flow to create a new story but avoid some headaches down the line. </p><img src="https://cdn.uc.assets.prezly.com/d0f0695b-fd55-4658-9f51-f759a16c13df/-/resize/1200/-/format/auto/image.png" alt="Image"/><figcaption>Pick a site before creating</figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Obviously, customers with only one site don&#x27;t see this picker.</p><h2><strong>2) Show which space you&#x27;re in</strong></h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Instead of having a super-weird UX pattern where one dropdown (site dropdown) would serve as both a breadcrumb and a &#x27;change your newsroom&#x27; flow was utterly confusing.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">So we moved the &#x27;change newsroom&#x27; to an advanced settings pane and made the site indicator prominent and read-only so there is no more confusion as to which space you&#x27;re editing in.</p><img src="https://cdn.uc.assets.prezly.com/09b87df9-77f1-4e42-a0a9-81fc5a5827af/-/resize/1200/-/format/auto/image.png" alt="Image"/><figcaption>Site breadcrumb (when editing story)</figcaption><h1>Image Uploader</h1><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Behind the scenes, we&#x27;re using <a class="prezly-slate-link" href="http://uploadcare.com" target="_blank" rel="noreferrer">uploadcare.com</a> for all uploads like attachments, videos, media galleries and pictures. This is a tremendous help as they provide uploading tools but make it easy to transform and serve those assets through their CDN. </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">We have a deep integration of Uploadcare within Prezly but the most noticable integration for our customers is the upload modal.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p><img src="https://cdn.uc.assets.prezly.com/76e39d83-7454-42ec-88ea-c10c13590a06/-/resize/1200/-/format/auto/image.png" alt="Image"/><figcaption>Upload Modal</figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">So we looked at a lot of sessions where people were using this modal and came up with a list of improvements:</p><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Improve copy of the different tabs + text</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Provide quick access to help docs</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Allow reordering image galleries during upload</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Implement a &#x27;recently uploaded&#x27; tab to avoid having to upload the same asset</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Shortcuts to set the image description based on the file name</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Bring the UI closer to our design system</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Add a &#x27;newsroom media&#x27; tab enabling editors to pick content from their site media kit</span></li></ul><hr class="prezly-slate-divider"/><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">We&#x27;re not done yet. But between now and my previous post on building an editor-friendly writing experience we&#x27;ve made good progress.</p><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">✅ Auto-save to avoid losing work</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Awesome linking experience</span><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Easily link to other content in the same CMS</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Allow different type of links</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Highlight (and upgrade) broken links</span></li></ul></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">✅ Use good typography</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">✅ Great support for lists</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">✅ Show pasted images inline</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">✅ Essential features done right</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">✅ Wrap long lines</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">✅ Make it fast (speed/performance)</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">✅ Support text-correction extensions</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Undo/Redo (with shortcuts)</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Good pasting behaviour</span></li></ul><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">We&#x27;re currently working on a new interface for Story editing that goes beyond the Prezly editor (Snowbird). This will hopefully address most of the issues I listed <a class="prezly-slate-link" href="https://www.lifelog.be/redesigning-the-writing--publishing-experience-tcdet7" target="_blank" rel="noreferrer">in this previous post.</a></p><div style="background:#FEE;border:1px solid red;color:red;padding:1em;margin:1em 0"><strong>[@prezly/content-renderer-react-js]</strong> Unknown node type encountered:<div style="font-family:monospace">{&quot;type&quot;: &quot;story-bookmark&quot;, &quot;children&quot;: [...], &quot;uuid&quot;: &quot;77679d6f-d91f-4d2d-a956-99c8e9d09d8d&quot;, &quot;story&quot;: {&quot;uuid&quot;:&quot;6e477dba-3bca-4243-8db9-73b5b6d93cbd&quot;}, &quot;show_thumbnail&quot;: true, &quot;layout&quot;: &quot;horizontal&quot;, &quot;new_tab&quot;: false}</div></div><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Are there any improvements you&#x27;d like to see? </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p></section></div>]]></description><link>undefined/building-an-editor-decreasing-the-time-to-publish-by-44</link><guid isPermaLink="true">undefined/building-an-editor-decreasing-the-time-to-publish-by-44</guid><pubDate>Mon, 17 Oct 2022 08:54:00 GMT</pubDate></item><item><title><![CDATA[Back to school]]></title><description><![CDATA[<link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/3b874c07-13ad-45d2-8697-ecfee846e5c1/-/crop/767x767/257,0/-/preview/-/resize/1200/-/format/auto/7B4FF0B0-B277-48CF-8C8A-16FBDDD69140_1_105_c.jpeg"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/0ca647c4-cc51-40df-b6ef-73f201563257/-/resize/1200/-/format/auto/505066E4-B149-43C6-A1D3-D361EDD763C9.heic"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/5e32b06d-cdd8-47e7-8ba1-30ad875640b7/-/resize/1200/-/format/auto/2B0F8244-90F7-472D-988A-CDAAE9662821.heic"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/a5d67f65-0ee6-4f9b-8892-ba11143181f8/-/resize/1200/-/format/auto/00862A95-90DF-433D-A7F0-ECAAB5269290.heic"/><div class="ContentRenderer_renderer__tPJbs"><section class="prezly-slate-document" data-version="0.50"><h2>Another 3 weeks passed by in a heartbeat</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Took some time to write a quick update. If you haven&#x27;t read the previous updates yet you can find them linked below:</p><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">July 2022 <a class="prezly-slate-link" href="https://www.lifelog.be/moving-to-spain" target="_blank" rel="noreferrer">Moving to Spain</a></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">August 2022 <a class="prezly-slate-link" href="https://www.lifelog.be/first-week-in-spain" target="_blank" rel="noreferrer">First week in Spain</a></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">August 2022 <a class="prezly-slate-link" href="https://www.lifelog.be/settling-in" target="_blank" rel="noreferrer">Settling In</a></span></li></ul><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"><br/>​<!-- -->So it&#x27;s been 3 weeks since the last update which I updated to point out that we did find Robbert in the end.</p><h2>Back to school</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">On the 5th of September, the day had arrived for Lucie and Marcel to go to their school. Now normally there would be a bus coming to the town to pick up the kids, but obviously (this is Spain) it turned out that that wasn&#x27;t fully arranged yet.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">So Annelies and I drove the kids to school where they&#x27;d meet their teacher and this years classmates. </p><img src="https://cdn.uc.assets.prezly.com/3b874c07-13ad-45d2-8697-ecfee846e5c1/-/crop/767x767/257,0/-/preview/-/resize/1200/-/format/auto/7B4FF0B0-B277-48CF-8C8A-16FBDDD69140_1_105_c.jpeg" alt="Image"/><figcaption>First day at school</figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">They had a wonderful day although they barely speak any Catalan. They have been enjoying school so far although the teacher has raised some integration/language/behaviour issues with the youngest. He&#x27;ll come around!</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Robbert had a slightly longer summer break but on Wednesday it was his turn to go back to school. Sadly he was forced to go back two years 😞 as the school system here did not accept all the (official) documentation we provided that Robbert finished his 2nd year in Belgium. </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Although the school provided an out where they could upgrade him 2 years after they ran some tests we do not have any guarantees that they&#x27;ll come around. We keep pushing and lobbying to get this fixed...</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Every day when I pick up Robbert from school I ask him to score his day. We went from 5/10 to a 7/10 in the course of almost two weeks. As the schools both finish with a 45- minute difference, we have some quality time. It&#x27;s great to find him in a good mood, and I can see him making new friends. I&#x27;m sure he&#x27;ll be super fast at learning the language having to listen to the teacher talk all day.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">I&#x27;m so proud of them</p><h2>Sheep everywhere</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">The ride up and down from our village is awesome. The sun is out almost every day and today we hit almost 30 degrees.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">One day I was late to pick them up as I was caught up behind 300 sheep waiting for them to clear the road.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">We spent some more time with the farmer who uses dogs to guard the cuddle and move them around. The kids are enjoying the time with the kids. Marcel told us he might not become a DJ when he grows up but is trading that for becoming a sheep farmer. </p><img src="https://cdn.uc.assets.prezly.com/0ca647c4-cc51-40df-b6ef-73f201563257/-/resize/1200/-/format/auto/505066E4-B149-43C6-A1D3-D361EDD763C9.heic" alt="Image"/><img src="https://cdn.uc.assets.prezly.com/5e32b06d-cdd8-47e7-8ba1-30ad875640b7/-/resize/1200/-/format/auto/2B0F8244-90F7-472D-988A-CDAAE9662821.heic" alt="Image"/><img src="https://cdn.uc.assets.prezly.com/a5d67f65-0ee6-4f9b-8892-ba11143181f8/-/resize/1200/-/format/auto/00862A95-90DF-433D-A7F0-ECAAB5269290.heic" alt="Image"/><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Today we watched a lamb being born. </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p><h2>Home Progress</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">On the home front, there is nothing spectacular to report on. We&#x27;re trying to make small progress every day which is getting a bit easier with the kids going back to school.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Some stuff we did:</p><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">pumped gasoline tanks to a new location</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">turned the gasoline storage room into a chicken coup</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">cleaned up the garden and installed a chicken fence. They still escape though</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">reinstalled most of the electricity</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">cleaned up the basement as a working shed</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">restored an old table to use in the living room</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">bought and installed a washing machine</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">more firewood</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">took out more trash (10+ drives to the waste facility)</span></li></ul><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">The next step is to prepare for winter as our heating system isn&#x27;t functional yet. We&#x27;re trying to figure out what the best and most realistic way is to heat the house during the winter. This will the most important project for the weeks to come.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p><h2> </h2></section></div>]]></description><link>undefined/back-to-school</link><guid isPermaLink="true">undefined/back-to-school</guid><pubDate>Fri, 16 Sep 2022 20:54:00 GMT</pubDate></item><item><title><![CDATA[The spammer that was able to send 4 million emails]]></title><description><![CDATA[<link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/16930e23-7d62-4ef0-8651-89e88b3e0534/-/resize/1200/-/format/auto/image.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/7a996f2b-8d22-459e-bfa5-66229d981724/-/resize/1200/-/format/auto/image.png"/><div class="ContentRenderer_renderer__tPJbs"><section class="prezly-slate-document" data-version="0.50"><h2>We&#x27;ve had a free trial form for over a year now and we&#x27;re constantly fighting people that sign up to abuse our system.</h2><h1>What happened?</h1><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Last weekend someone was able to sign-up for a Prezly trial and send out over 4 million emails unnoticed. I mean, we did notice it after the weekend but then it was too late.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">This will increase our SendGrid bill but that&#x27;s not the worst. It also affects our sending reputation which is slowly recovering after the hotfix on Monday.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"><em>TLDR: The &#x27;send a test email&#x27; functionality allowed comma-separated multi-send and was hijacked to send out spam (with [TEST] prefix).</em></p><h2>How could this happen?</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">We have a number of limits in place for trial accounts: Any account that has not entered their credit card details can not interact with DNS (newsroom domain, DKIM/SPF sender domain verification) and there are time-based volume limits in place with regard to email sending.<br/>​<!-- -->​<br/>​<!-- -->The truth is that we didn&#x27;t build these limits for trial accounts but rather for some high-usage customers and found out later that the same validation should be applied to trials. </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">This weekend on Saturday night we had a ton of incoming trial requests with similar email addresses that looked sketchy. As we&#x27;ve become more confident in the automatic enforcement of account limits we don&#x27;t manually check logs/verify account activity (anymore). </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">These trials hijacked the &#x27;send a test email&#x27; functionality in the email composer that allows customers to enter a comma-separated list of addresses to send a few people a sample email campaign. The email subject is prefixed with [TEST] - though.<br/>​<!-- -->​<br/>​<!-- -->The spammers abused this feature to enter a very long string of email addresses (up to 10k email addresses per submission) and do that over and over. </p><img src="https://cdn.uc.assets.prezly.com/16930e23-7d62-4ef0-8651-89e88b3e0534/-/resize/1200/-/format/auto/image.png" alt="Image"/><figcaption>One of the fullstory sessions pasting ton of email addresses</figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">After doing more research about what exactly went down I believe later some automation was used where we were seeing multiple accounts exploit the same vulnerability at the same time.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">4 million emails. Sigh...</p><h2>Patching the hole</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">After Jesse noticed something weird happened over the weekend it took a few lines of code to add additional validation to prevent this from happening. But as we didn&#x27;t want to remove that functionality we decided that trial users can only send test emails to their own email addresses.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">We&#x27;re aware this is not the perfect solution and some of the higher-quality trial accounts might be annoyed by this limitation. </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">In the long-term, I think we&#x27;ll implement some kind of scoring system where those limitations are applied based on some (automated or manual) qualification/risk score.</p><h2>What else could go wrong?</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Taking a step back from this specific case I took some time to think about other potential ways a trial account could harm our system or significantly increase <a class="prezly-slate-link" href="https://www.lifelog.be/the-cost-to-run-a-saas-with-a-few-million--arr" target="_blank" rel="noreferrer">our cost for running Prezly</a>. </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Here is what I came up with:</p><ol class="prezly-slate-list prezly-slate-list--numbered prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Use our newsroom/CDN to host files</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Overload the system by importing huge/corrupt contact files</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Use the API to create a huge amount of content increasing our Algolia charges</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Trigger a shit-ton of `identify()&#x27; calls to increase volume-based MTU billing in for example segment.com</span></li></ol><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Although I am aware that only scenario 1. will provide value to the attacker with more incentives than the other more malicious scenarios, I think this is something to be aware of.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> In Scenario 1) we do have some kind of measures where we clean up old/sleeping accounts and thus there would be no long-term benefits of using Prezly as trustworthy file storage.</p><h1>Going Forward</h1><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">This case has reminded me again that we should probably do even more to protect our customers and reputation. And while I want to make sure that good leads/PR agencies and brands that sign up for a Prezly trial have an awesome first experience. That experience is impacted by some of the limitations we put in place to protect ourselves from bad actors.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Some ideas and things I will be exploring in the next few weeks. For some of the larger ideas, I will create <a class="prezly-slate-link" href="https://www.lifelog.be/multiple-product-teams" target="_blank" rel="noreferrer">a Shape-Up/Scoping document</a> and pitch them in the next betting session.</p><h2>Use our Trial Qualification</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">We are already manually qualifying all incoming trials in the Prezly app. This allows us to run other automation and playbooks based on the quality of the lead.</p><img src="https://cdn.uc.assets.prezly.com/7a996f2b-8d22-459e-bfa5-66229d981724/-/resize/1200/-/format/auto/image.png" alt="Image"/><figcaption>Manual Qualification (first column)</figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">As our sales team is manually going through those leads, connecting with them on LinkedIn, and figuring out if this is a real company vs a bot, I think this is a good indicator of how much we can trust those accounts.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">We could keep all the trial limitations (and the extra limitation we built in for this spammer) in place for low/unqualified accounts where we get out of the way for trials that were manually marked as having higher potential.</p><h2>Improve monitoring &amp; Alerts</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">We only send automated alerts (SMS/slack messages/phone calls) if there are reliability issues with our systems. An increase in error rates, failure to connect with backstream systems, and issues with load or pods crashing.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">But we don&#x27;t proactively monitor and alert customer behaviour. This means that creating 100k stories or importing 5 million contacts would probably go unnoticed unless it would trigger any reliability alerts due to a slower database or the application being unable to keep up.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">But because we have some components that auto-scale the damage might already be done before we even notice it.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Going forward I think we need to proactively monitor total system usage with things like:</p><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Number of emails sent</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Number of stories published</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Number of newsrooms created</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Amount of domains verifications failed</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Total amount/size of uploads on CDN</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Contact import records being processed</span></li></ul><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">After we have some baseline metrics we could set up certain thresholds and alert the right people if the number is exceeding &#x27;normal&#x27; app usage. It would probably have helped a lot in noticing this issue a little earlier.</p><h2>Isolate the email reputation for Trial Accounts</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Almost all customers (outside of some Enterprise customers) share the same IPs and email-sending infrastructure. We do a lot to protect our reputation:</p><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Warning customers of increased spam rates</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Forcing unsubscribes. No way to revert a recipient&#x27;s unsubscribe</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Dropping soft bounces for future campaigns</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Discouraging &#x27;email all&#x27; behaviour</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Suspending accounts that smell like spam</span></li></ul><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">This enabled us to keep our sending reputation high as landing in the inbox is one of the key concerns for new customers trying our product.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">But every software has bugs or oversights. And I think it&#x27;s safe to say there will be similar situations in the future.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">So wouldn&#x27;t it be good to isolate the sending behaviour of trial accounts, and maybe for newly joined customers on lower plans, to their own sending IPs and email reputation?</p><h2>Ask for Credit Card</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Some of my favourite SaaS companies ask for a credit card during the sign-up process and talked about it (<a class="prezly-slate-link" href="https://youtu.be/zwtdU7QK4GI?t=801" target="_blank" rel="noreferrer">Nathan Barry/Convertkit</a>). I am pretty confident requiring a CC would do what you&#x27;d expect:</p><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Lower conversion rate</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Increase usage for trials</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">More efficient funnels for trials</span></li></ul><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">And although this would probably discourage bad actors from trying to exploit Prezly it comes with a price. Because now you have fewer trials together with less information on what people do when they are first activating their account.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">So I&#x27;m not sure about credit cards yet. And <a class="prezly-slate-link" href="https://www.indiehackers.com/post/asking-for-credit-cards-upfront-changed-my-business-ec400440da?commentId=-Mvz0cohE4pnjA699E0q" target="_blank" rel="noreferrer">this discussion on Indiehackers</a> proves that I&#x27;m not the only one with that concern.</p><hr class="prezly-slate-divider"/><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">In an ideal world, I would not have to spend time on this and focus on building an awesome product and company. Yesterday I learned <a class="prezly-slate-link" href="https://techcrunch.com/2022/08/25/heroku-announces-plans-to-eliminate-free-plans-blaming-fraud-and-abuse/?guccounter=1&amp;guce_referrer=aHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS8&amp;guce_referrer_sig=AQAAAGgdVdSvxAif_f3tfDdt4-yovw34kZldxdWZdrT6bjnvSbyIrxcGDaJVZkhCzyRl42Y5pkJx0QBPvYhyzOcO3C2d10i1oKDREvYshq86Z82dgCIstvTeOpb6UhOSqilay5WOKyerIBlCT1wsLvki8zj9ufcd0xFrKFAnxksvNgxU" target="_blank" rel="noreferrer">about Heroku shutting down their free plans stating &#x27;abuse&#x27; as the main reason. </a>So I&#x27;m sure we&#x27;re not the only ones struggling with this.</p><h2> </h2><h2> </h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p><h2> </h2></section></div>]]></description><link>undefined/the-spammer-that-was-able-to-send-4-million-emails</link><guid isPermaLink="true">undefined/the-spammer-that-was-able-to-send-4-million-emails</guid><pubDate>Thu, 01 Sep 2022 07:08:32 GMT</pubDate></item><item><title><![CDATA[Settling in]]></title><description><![CDATA[<link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/637b04f1-f5cd-44f5-8f25-7dc2eeb76a00/-/crop/1024x469/0,186/-/preview/-/resize/1200/-/format/auto/80EA7EFF-8B14-4BEB-9FD5-7A1A3CCABDD6_1_105_c.jpeg"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/1751020e-aed6-4758-9f15-508fed33e864/-/resize/1200/-/format/auto/89DC5F33-BA4C-4DC1-B0F3-CD80993AAFFD_1_105_c.jpeg"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/015cb85d-c870-4231-8381-ed2dd61e124d/-/resize/1200/-/format/auto/7139FF92-1CB6-48C0-BC8F-9336D3C77E3D_1_105_c.jpeg"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/1254b340-4daf-4730-8abb-a7a8d5da0e78/-/resize/1200/-/format/auto/08321F1B-D75D-46AB-BE0E-9655FD516BE7_1_105_c.jpeg"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/774cbcb7-5944-4418-8adf-ae9a2e91bc58/-/crop/837x569/187,0/-/preview/-/resize/1200/-/format/auto/5367D9A8-BC98-4BB2-875C-5D0907018861_1_105_c.jpeg"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/92dc2810-53a5-46ac-a360-bde909b90d30/-/resize/1200/-/format/auto/67A9ACC5-0BF8-42AD-BF5A-22704299885D_1_105_c.jpeg"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/d56a7b47-30ce-4e4a-9083-c80cedbe95cc/-/resize/1200/-/format/auto/7A5B3F1C-6D6B-4242-B084-16F948923BFF_1_105_c.jpeg"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/02d05e7f-fd18-41bd-a674-2cf8ae71854a/-/resize/1200/-/format/auto/7A98E15F-FBDB-4F7C-A872-A484EDE21C09_1_105_c.jpeg"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/084585cf-6dbb-4661-937a-133dddf4a829/-/resize/1200/-/format/auto/1AAF1C8C-0726-4049-96A4-FD97C36E1DBA_1_105_c.jpeg"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/7e989701-ddab-4359-b99c-4ae7fb151ce3/-/resize/1200/-/format/auto/794EF310-A941-43CD-881B-D842A3B2558C_1_105_c.jpeg"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/7911db76-479f-4cfa-ad50-6fee085c1b79/-/resize/1200/-/format/auto/80EA7EFF-8B14-4BEB-9FD5-7A1A3CCABDD6_1_105_c.jpeg"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/632c7bac-b61f-4f95-b2ff-ae6e1dbb8b17/-/resize/1200/-/format/auto/77769BF5-0E32-47A8-8E0E-FE67AE608518_1_105_c.jpeg"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/2b22e4e0-ab79-4ac7-8fad-fdba46ba774b/-/resize/1200/-/format/auto/0ACA55F5-686B-4954-825E-B986B95D76D7_1_105_c.jpeg"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/e4b95c20-e270-41eb-87cc-e451e5dc160e/-/resize/1200/-/format/auto/31CD4CA5-5C63-4FE5-BEDF-166761C3F85C_1_105_c.jpeg"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/79bede49-9b20-41af-92ab-f8ae1b997585/-/resize/1200/-/format/auto/9CCE0BC0-07FD-4CEE-82D1-73483F06E5B2_1_105_c.jpeg"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/6de8a5d7-c52d-4607-be43-73b645179120/-/resize/1200/-/format/auto/16D8C0EA-DC5B-492B-9CA1-5B12E0B12C09_1_105_c.jpeg"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/5fd45eca-f410-4f86-9cd3-a3d43ed2f06e/-/resize/1200/-/format/auto/67696E90-27CD-4CA4-8953-F1933B9D5008_1_105_c.jpeg"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/6fae8ef0-e9d2-4de1-88e1-1ee85d2073ad/-/resize/1200/-/format/auto/53428668-9C8C-4AA0-8F7A-E1D045216735_1_105_c.jpeg"/><div class="ContentRenderer_renderer__tPJbs"><section class="prezly-slate-document" data-version="0.50"><img src="https://cdn.uc.assets.prezly.com/637b04f1-f5cd-44f5-8f25-7dc2eeb76a00/-/crop/1024x469/0,186/-/preview/-/resize/1200/-/format/auto/80EA7EFF-8B14-4BEB-9FD5-7A1A3CCABDD6_1_105_c.jpeg" alt="Image"/><figcaption> </figcaption><h2>It&#x27;s been three weeks since we moved to Spain and here is a quick update on how it&#x27;s going.</h2><h2>Second Visit</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">This week we welcomed Peter and Ann who were visiting us from the other side of the Pyrenees (Around Toulouse). Although they made a short stop on their way to Tarragona we enjoyed their stay.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">I helped Peter find a calm/wild camping spot to spend the night after we had a joyful evening with steaks, wine and lots of laughter (and serious conversation).</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">The next day we showed them the Village and took them to the lake at the bottom of the mountain.</p><h2>The first hike - Lost Robbert 😳 </h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">In addition to getting back to work, now that the internet is finally working, we wanted to make it feel like a holiday spending time by doing fun activities and spending family time with the kids. </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">The first thing we want to do is get familiar with the mountain we&#x27;re on and its surrounding area. On one of those walks, Marcel convinced the neighbour&#x27;s dog &#x27;Rudy&#x27; to join us on our walk taking us to the local peak of our maintain enjoying a nice pick-nick with a beautiful view.</p><img src="https://cdn.uc.assets.prezly.com/1751020e-aed6-4758-9f15-508fed33e864/-/resize/1200/-/format/auto/89DC5F33-BA4C-4DC1-B0F3-CD80993AAFFD_1_105_c.jpeg" alt="Image"/><img src="https://cdn.uc.assets.prezly.com/015cb85d-c870-4231-8381-ed2dd61e124d/-/resize/1200/-/format/auto/7139FF92-1CB6-48C0-BC8F-9336D3C77E3D_1_105_c.jpeg" alt="Image"/><img src="https://cdn.uc.assets.prezly.com/1254b340-4daf-4730-8abb-a7a8d5da0e78/-/resize/1200/-/format/auto/08321F1B-D75D-46AB-BE0E-9655FD516BE7_1_105_c.jpeg" alt="Image"/><img src="https://cdn.uc.assets.prezly.com/774cbcb7-5944-4418-8adf-ae9a2e91bc58/-/crop/837x569/187,0/-/preview/-/resize/1200/-/format/auto/5367D9A8-BC98-4BB2-875C-5D0907018861_1_105_c.jpeg" alt="Image"/><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">I promised Robbert we&#x27;d be on time for an important online tournament he was following which turned out not to be the best idea. Because of the heat, we were going much slower than anticipated and time was running out for Robbert to make it to his game.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">As the walk was following a single path, and Robbert (12 years old) guaranteed me he knew the way back, we allowed him to take a (2km?) hike back ensuring he&#x27;d be home on time. After we finished pick-nicking and took our time to get back to the house, we discovered Robbert wasn&#x27;t home yet. 😟</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">People in the village came to help us find him (they must think we&#x27;re dumb city people) and I took the chance to test out how well my off-road pick-up driving skills were. I drove up to the top of the mountain we hiked and found Robbert in a slight panic but not eaten by bears yet :)</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">On the car ride back he did tell me that he was worried because I told him:</p><blockquote class="prezly-slate-quote prezly-slate-quote--align-inherit">If you get lost on that side of the Pyrennees you can walk for days and not find a single house. People have died getting lost.</blockquote><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">I was just trying to make them cautious when they explore the woods. Remember your way back to the house!</p><h2>Catalan Lessons</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">So we&#x27;ve been getting family Catalan lessons every second day. We found a great teacher from the village that has an awesome way of teaching us starting with the essential basics for small talk/beginner conversation. It must be hard teaching such a diverse (age-wise) group of students but she&#x27;s nailing it.</p><img src="https://cdn.uc.assets.prezly.com/92dc2810-53a5-46ac-a360-bde909b90d30/-/resize/1200/-/format/auto/67A9ACC5-0BF8-42AD-BF5A-22704299885D_1_105_c.jpeg" alt="Image"/><img src="https://cdn.uc.assets.prezly.com/d56a7b47-30ce-4e4a-9083-c80cedbe95cc/-/resize/1200/-/format/auto/7A5B3F1C-6D6B-4242-B084-16F948923BFF_1_105_c.jpeg" alt="Image"/><img src="https://cdn.uc.assets.prezly.com/02d05e7f-fd18-41bd-a674-2cf8ae71854a/-/resize/1200/-/format/auto/7A98E15F-FBDB-4F7C-A872-A484EDE21C09_1_105_c.jpeg" alt="Image"/><img src="https://cdn.uc.assets.prezly.com/084585cf-6dbb-4661-937a-133dddf4a829/-/resize/1200/-/format/auto/1AAF1C8C-0726-4049-96A4-FD97C36E1DBA_1_105_c.jpeg" alt="Image"/><img src="https://cdn.uc.assets.prezly.com/7e989701-ddab-4359-b99c-4ae7fb151ce3/-/resize/1200/-/format/auto/794EF310-A941-43CD-881B-D842A3B2558C_1_105_c.jpeg" alt="Image"/><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Progress is slow but steady. Annelies and Robbert are the best students in the class and making impressive progress while Marcel is having a hard time being focused for anything more than 15 minutes.</p><h2>Swimming</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">The nice thing about this side of the Pyrennees is the availability of water. Lakes, rivers and small ponds. So many places to spend a day in nature while the kids are playing in the water. Someone from the village gave us some tips on the most beautiful spots and on the first attempt, we hit a home run.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">We found this awesome place next to the river. It was surrounded by high cliffs, the water temperature was amazing and all throughout the river there were big rocks the kids could play with.</p><img src="https://cdn.uc.assets.prezly.com/7911db76-479f-4cfa-ad50-6fee085c1b79/-/resize/1200/-/format/auto/80EA7EFF-8B14-4BEB-9FD5-7A1A3CCABDD6_1_105_c.jpeg" alt="Image"/><img src="https://cdn.uc.assets.prezly.com/632c7bac-b61f-4f95-b2ff-ae6e1dbb8b17/-/resize/1200/-/format/auto/77769BF5-0E32-47A8-8E0E-FE67AE608518_1_105_c.jpeg" alt="Image"/><img src="https://cdn.uc.assets.prezly.com/2b22e4e0-ab79-4ac7-8fad-fdba46ba774b/-/resize/1200/-/format/auto/0ACA55F5-686B-4954-825E-B986B95D76D7_1_105_c.jpeg" alt="Image"/><img src="https://cdn.uc.assets.prezly.com/e4b95c20-e270-41eb-87cc-e451e5dc160e/-/resize/1200/-/format/auto/31CD4CA5-5C63-4FE5-BEDF-166761C3F85C_1_105_c.jpeg" alt="Image"/><img src="https://cdn.uc.assets.prezly.com/79bede49-9b20-41af-92ab-f8ae1b997585/-/resize/1200/-/format/auto/9CCE0BC0-07FD-4CEE-82D1-73483F06E5B2_1_105_c.jpeg" alt="Image"/><img src="https://cdn.uc.assets.prezly.com/6de8a5d7-c52d-4607-be43-73b645179120/-/resize/1200/-/format/auto/16D8C0EA-DC5B-492B-9CA1-5B12E0B12C09_1_105_c.jpeg" alt="Image"/><img src="https://cdn.uc.assets.prezly.com/5fd45eca-f410-4f86-9cd3-a3d43ed2f06e/-/resize/1200/-/format/auto/67696E90-27CD-4CA4-8953-F1933B9D5008_1_105_c.jpeg" alt="Image"/><img src="https://cdn.uc.assets.prezly.com/6fae8ef0-e9d2-4de1-88e1-1ee85d2073ad/-/resize/1200/-/format/auto/53428668-9C8C-4AA0-8F7A-E1D045216735_1_105_c.jpeg" alt="Image"/><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Later that week we found two closeby swimming pools that are awesome: not too many tourists, a nice bar/friendly people and not too expensive. Sadly those swimming pools are closing up at the beginning of September.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Robbert and Lucie wanted to learn how to dive. I tried to explain them my own way but that came with a lot of frustration hitting the water time after time. Youtube to the rescue.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">After watching the video in the swimming pool bar the kids were eager to get this over within 6 minutes. Turned out it wasn&#x27;t as straightforward as advertised where the biggest challenge was getting over the fear of going head-first.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Within 30 minutes Robbert had evolved to diving standing up while both Marcel and Lucie were trying to catch up. I think if we practice for a few more days they&#x27;ll all get it :-)</p><h2>Fire-wood 🔥</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">As we took out two floors from the old house we had so many old wood beams that were previously supporting the floor. It was time to take out the chainsaw and turn them into firewood for the next winter.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Enjoy the timelapse.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Notice how the chickens are not afraid of a running chainsaw and are fighting to eat the first worms/insects when picking up the last beams of wood. </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p><h2> </h2></section></div>]]></description><link>undefined/settling-in</link><guid isPermaLink="true">undefined/settling-in</guid><pubDate>Mon, 29 Aug 2022 08:26:00 GMT</pubDate></item><item><title><![CDATA[First week in Spain]]></title><description><![CDATA[<link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/b37ec974-7fc9-4388-92b8-cee045a8823d/-/resize/1200/-/format/auto/922716AB-883C-4276-8126-BC910B8B3BDE_1_105_c.jpeg"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/7aed7a6c-fb00-423a-b27a-d61990732d7f/-/resize/1200/-/format/auto/image.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/e3e5cf23-101b-4c7f-b8ca-c1e6d6795da9/-/resize/1200/-/format/auto/WhatsApp%20Image%202022-08-12%20at%2011.05.49%20AM.jpeg"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/47aea0bf-d9d5-4741-945f-fdb3a1b98e01/-/resize/1200/-/format/auto/14549803-B8C9-4B4C-98F0-0B7C5FDE652C_1_105_c.jpeg"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/69b3a20a-ef0c-4dd1-83c5-974b49dd0071/-/resize/1200/-/format/auto/22FE495F-BD63-435D-921B-AAEC85B6FA61_1_105_c.jpeg"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/2467fc89-de3e-41ec-91cb-a7b3a051e2a1/-/resize/1200/-/format/auto/WhatsApp%20Image%202022-08-12%20at%2011.05.50%20AM.jpeg"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/8fa31809-9ee5-4753-9d9e-98aad88941b7/-/resize/1200/-/format/auto/2AF97C56-9E87-4E1B-BA2D-47790434A92A_1_105_c.jpeg"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/11daead4-f377-426e-acd6-2a8ef0e4a23e/-/resize/1200/-/format/auto/4D9C76D3-A4D0-437D-8387-8284E99A73D3_1_105_c.jpeg"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/be075ce7-2c59-48ce-830b-154cf6a0ca03/-/resize/1200/-/format/auto/C29AEFD2-D6CD-402F-8023-5D6A65AE3BFC_1_105_c.jpeg"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/84f5c48b-23b3-483b-a331-e62e2a5da451/-/resize/1200/-/format/auto/ACFD3C6C-BFBA-46F4-9EFA-A86A73868F28_1_105_c.jpeg"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/3961a054-18fe-4153-9fdf-ff26abdd4057/-/resize/1200/-/format/auto/150CC43C-827A-48C4-9756-251CE1C270F4_1_105_c.jpeg"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/6bdf5a56-da6d-4000-a1e4-d59317f38c3e/-/resize/1200/-/format/auto/B1109ECA-54B7-41EC-93EB-BF668FE60EF4.heic"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/b4ff84d2-d9f7-4179-8db1-e505956c3163/-/resize/1200/-/format/auto/D6602D7B-58C2-4A2D-A1FE-8BFE12619C76.heic"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/59bfc06e-8628-4467-a763-5d7345e6029e/-/resize/1200/-/format/auto/9911D1F9-149F-4DA0-B9AC-7FEFA9289734.heic"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/25619c33-1d28-49c0-af7a-3d3e670ef062/-/resize/1200/-/format/auto/09D2EE38-D26E-40AE-96DB-C278475810A4.heic"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/1b6e69ff-57ee-48cb-bc86-d276879c6491/-/resize/1200/-/format/auto/83B25949-B0D7-4EE8-88C7-AD2CCAA09D92.heic"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/34c8ec8e-d0ee-40e7-ae58-5b97fb9824a5/-/resize/1200/-/format/auto/BCFFB798-F740-43C5-A238-59B59763A231.heic"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/7fa77d1f-c27e-459c-8e86-e5d6a34e7bc9/-/resize/1200/-/format/auto/image.png"/><div class="ContentRenderer_renderer__tPJbs"><section class="prezly-slate-document" data-version="0.50"><img src="https://cdn.uc.assets.prezly.com/b37ec974-7fc9-4388-92b8-cee045a8823d/-/resize/1200/-/format/auto/922716AB-883C-4276-8126-BC910B8B3BDE_1_105_c.jpeg" alt="Image"/><figcaption> </figcaption><h2> </h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Last Thursday the day had come to pack up our stuff and take the 1250km drive to <a class="prezly-slate-link" href="https://www.lifelog.be/moving-to-spain" target="_blank" rel="noreferrer">our new home</a>.</p><h2>A new car</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Because the village is impossible to access with a normal car (max width 180cm) and there was a lot work in the house (getting rid of stuff left by the previous owner, building new floors, ...) I ended up buying a new car in Belgium. </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">The requirements for the car were for it to fit and be able to tow heavy loads (+1500kg) and 4x4 drive. Bonus points for a car with scratches as I knew it was going to take a beating with the planned usage.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">After quite some digging I discovered that there was an SX (small trim) version of the Fiat Fullback that met all criteria. Did you know there <a class="prezly-slate-link" href="https://www.carsized.com/en/cars/compare/fiat-fullback-2016-4-door-pickup-double-cab-vs-suzuki-vitara-2015-5-door-suv/front/?consentmsg=62f66308c8cae" target="_blank" rel="noreferrer">are sites to compare the dimensions of different cars</a>?</p><img src="https://cdn.uc.assets.prezly.com/7aed7a6c-fb00-423a-b27a-d61990732d7f/-/resize/1200/-/format/auto/image.png" alt="Image"/><figcaption>Suzuki Vitara (that fits) vs a Fiat Fullback LX trim</figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Now I know what I wanted I needed to find a 2nd hand Fiat Fullback for sale. Because I needed this specific trim (SX) I had to look hard and discovered that throughout Europe there are only about 10 of those cars available on the major 2nd hand car websites.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">I got lucky with a black version being readily available and went for a visit and bought the car on the spot. The only downside: no automatically foldable mirrors which I figured I could fix using after-market components.</p><h2>The Move</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">As we now had 2 cars it was easier to plan the final move. We had to move 3 of our children and 7 chickens. Preferably alive.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">I spent all Wednesday loading the cars. Figured that chances for the chickens to survive would be higher inside the car 😱 . My brother and I constructed a compartment on the backseat of the Pickup. </p><img src="https://cdn.uc.assets.prezly.com/e3e5cf23-101b-4c7f-b8ca-c1e6d6795da9/-/resize/1200/-/format/auto/WhatsApp%20Image%202022-08-12%20at%2011.05.49%20AM.jpeg" alt="Image"/><img src="https://cdn.uc.assets.prezly.com/47aea0bf-d9d5-4741-945f-fdb3a1b98e01/-/resize/1200/-/format/auto/14549803-B8C9-4B4C-98F0-0B7C5FDE652C_1_105_c.jpeg" alt="Image"/><img src="https://cdn.uc.assets.prezly.com/69b3a20a-ef0c-4dd1-83c5-974b49dd0071/-/resize/1200/-/format/auto/22FE495F-BD63-435D-921B-AAEC85B6FA61_1_105_c.jpeg" alt="Image"/><img src="https://cdn.uc.assets.prezly.com/2467fc89-de3e-41ec-91cb-a7b3a051e2a1/-/resize/1200/-/format/auto/WhatsApp%20Image%202022-08-12%20at%2011.05.50%20AM.jpeg" alt="Image"/><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">After about 800km, which went very smooth, we decided to spend the night in a hotel. We needed to find a place with a garden so we could de-stress the chickens. Talked to the owner and agreed to give them some room at the back of the hotel with the portable fence I took with us.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">The night in the hotel turned out to be terrible. Both Annelies and I only slept for a few hours as it was crazy hot (somewhere around Limoges) and our room did not have AC and the window was situated next to a busy road. ​ 😴 The only good news is that I was fully caffeinated and ready to go at around 6:30.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">On Friday we had the most beautiful part of the trip in front of us passing through the Pyrenees to end up on the Spanish side.</p><img src="https://cdn.uc.assets.prezly.com/8fa31809-9ee5-4753-9d9e-98aad88941b7/-/resize/1200/-/format/auto/2AF97C56-9E87-4E1B-BA2D-47790434A92A_1_105_c.jpeg" alt="Image"/><img src="https://cdn.uc.assets.prezly.com/11daead4-f377-426e-acd6-2a8ef0e4a23e/-/resize/1200/-/format/auto/4D9C76D3-A4D0-437D-8387-8284E99A73D3_1_105_c.jpeg" alt="Image"/><img src="https://cdn.uc.assets.prezly.com/be075ce7-2c59-48ce-830b-154cf6a0ca03/-/resize/1200/-/format/auto/C29AEFD2-D6CD-402F-8023-5D6A65AE3BFC_1_105_c.jpeg" alt="Image"/><img src="https://cdn.uc.assets.prezly.com/84f5c48b-23b3-483b-a331-e62e2a5da451/-/resize/1200/-/format/auto/ACFD3C6C-BFBA-46F4-9EFA-A86A73868F28_1_105_c.jpeg" alt="Image"/><img src="https://cdn.uc.assets.prezly.com/3961a054-18fe-4153-9fdf-ff26abdd4057/-/resize/1200/-/format/auto/150CC43C-827A-48C4-9756-251CE1C270F4_1_105_c.jpeg" alt="Image"/><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">We arrived in the Village around 14:00 where I was getting increasingly nervous about the final 300 meters. Will it fit?</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">As I was loaded with so much stuff I was destined to drive the car to the front of the house. Some of the villagers discouraged me as they thought the car would not fit but it did. Just one minor scratch :-)</p><h2>The first days - Basics</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">The plan for the first days was to make sure the basics work (warm water, electricity), clean the house, make sure the children have a nice room and create the space able to unpack all of the boxes.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Because no one has lived in the house for almost 7 years it needed a deep clean which took much longer than we anticipated. My Mom decided that she wanted to come by and help us out during her Holiday. This helped a lot and allowed me and Annelies to spend time on other essentials. </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">After a trip to Ikea (a 3-hour drive to Barcelona) and using some of the things we brought from Belgium (beds, bedframes) we managed to give the children a room they are all quite happy with.</p><img src="https://cdn.uc.assets.prezly.com/6bdf5a56-da6d-4000-a1e4-d59317f38c3e/-/resize/1200/-/format/auto/B1109ECA-54B7-41EC-93EB-BF668FE60EF4.heic" alt="Image"/><img src="https://cdn.uc.assets.prezly.com/b4ff84d2-d9f7-4179-8db1-e505956c3163/-/resize/1200/-/format/auto/D6602D7B-58C2-4A2D-A1FE-8BFE12619C76.heic" alt="Image"/><img src="https://cdn.uc.assets.prezly.com/59bfc06e-8628-4467-a763-5d7345e6029e/-/resize/1200/-/format/auto/9911D1F9-149F-4DA0-B9AC-7FEFA9289734.heic" alt="Image"/><img src="https://cdn.uc.assets.prezly.com/25619c33-1d28-49c0-af7a-3d3e670ef062/-/resize/1200/-/format/auto/09D2EE38-D26E-40AE-96DB-C278475810A4.heic" alt="Image"/><img src="https://cdn.uc.assets.prezly.com/1b6e69ff-57ee-48cb-bc86-d276879c6491/-/resize/1200/-/format/auto/83B25949-B0D7-4EE8-88C7-AD2CCAA09D92.heic" alt="Image"/><img src="https://cdn.uc.assets.prezly.com/34c8ec8e-d0ee-40e7-ae58-5b97fb9824a5/-/resize/1200/-/format/auto/BCFFB798-F740-43C5-A238-59B59763A231.heic" alt="Image"/><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">The rest of the time was spent cleaning up the garden, taking out trash left by the previous owner and removing old/outdated cabling and satellites or antennas mounted on the outside of the home.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">A timelapse of cleaning up the garden:</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Additionally, we made sure to create enough time to enjoy the surroundings. With the kids we took the SUP to the lake three times, enjoyed a Wim Hof-style cold bath under the village waterfall (11 degrees) and spent some time around local restaurants. ❤️</p><h2>The good and bad</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">As everything still feels like a holiday it&#x27;s too early to draw any conclusions. There has been quite a bit of emotions around the idea that this is permanent. For now, I was able to turn around the mood by doing something fun.</p><img src="https://cdn.uc.assets.prezly.com/7fa77d1f-c27e-459c-8e86-e5d6a34e7bc9/-/resize/1200/-/format/auto/image.png" alt="Image"/><figcaption>The weather</figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Although the temperature is around 35 degrees it doesn&#x27;t feel that hot. There is a constant breeze and the cold lake in front of the house acts like a huge airconditioner. It cools down quite a lot at night and there are not that many mosquitos. A lot of flies though!</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Anyway, too early to evaluate. What I can say is that life slows down a lot here. As I&#x27;m writing this the kids are playing in the lake in front of the house and everything is so quiet. Everyone you talk to in the village looks like they have all the time in the world and are genuinely interested in understanding how we&#x27;re experiencing the move.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">That&#x27;s it for this update. Another one next Friday?</p></section></div>]]></description><link>undefined/first-week-in-spain</link><guid isPermaLink="true">undefined/first-week-in-spain</guid><pubDate>Fri, 12 Aug 2022 15:39:00 GMT</pubDate></item><item><title><![CDATA[Our road to building better product teams]]></title><description><![CDATA[<link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/99aed992-115f-4748-9a77-72140595f274/-/resize/1200/-/format/auto/image.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/bdae480e-4e3d-4a62-be77-73c3103e7149/-/resize/1200/-/format/auto/image.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/24217bd9-d558-439d-b14a-6dba7beb710a/-/resize/1200/-/format/auto/image.png"/><div class="ContentRenderer_renderer__tPJbs"><section class="prezly-slate-document" data-version="0.50"><h2> </h2><blockquote class="prezly-slate-quote prezly-slate-quote--align-inherit">Two steps forward, one step back</blockquote><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">This would be my most accurate one-liner of what it feels like to build <a class="prezly-slate-link" href="https://www.prezly.com/" target="_blank" rel="noreferrer">a company</a> from a three-person founding team to a few-million revenue/30+ headcount business.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">And the same is true for the product team where we&#x27;ve evolved from early years of rapid experimentation (&quot;let&#x27;s try agile&quot;, &quot;adopt Jira company-wide&quot;, &quot;idea + execution on the same day&quot;) to a more stable and well-functioning product development pace which has been paying off.</p><h1>Break up into three teams</h1><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">In the last 12 months, we&#x27;ve broken down the product team into three autonomous teams with their own projects and tasks. This meant we had to hire at least four more people for the product team. We <a class="prezly-slate-link" href="https://careers.prezly.com/" target="_blank" rel="noreferrer">still have some open roles</a>.</p><img src="https://cdn.uc.assets.prezly.com/99aed992-115f-4748-9a77-72140595f274/-/resize/1200/-/format/auto/image.png" alt="Image"/><figcaption>The product team split into 3 teams</figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">So now every team has a dedicated product designer and a mix of frontend and backend developers.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"><em>Fun fact: our team uses Elvis Presleys song titles: Mystery Train, Tutti Frutti and Hot Dog. </em></p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Breaking up those teams was a logical decision to further scale the product team. Many business books mention the &#x27;autonomous teams&#x27; approach which certainly feels like the right way forward.</p><img src="https://cdn.uc.assets.prezly.com/bdae480e-4e3d-4a62-be77-73c3103e7149/-/resize/1200/-/format/auto/image.png" alt="Image"/><figcaption>Before/After breaking up the product team (into three teams)</figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">The outcome of this change is that team members work together more closely and are better focused on the projects assigned to their respective teams. </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">We&#x27;ve also carried through that team split in Linear, where every team has its own space, projects and stories (that have a different prefix). This change has resulted in more collaboration (within teams) and a more predictable pace. Two steps forward!</p><h2>One step back</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">But there are some downsides to this approach:</p><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><strong>Everyone stays in the same team</strong>. This impacts the overall social dynamics and reduces the amount of information sharing.</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><strong>More work to assign and plan issues</strong>. Because bugs now belong to a team there is more work in triaging/allocating the right person as one needs to think about which team is responsible for that part of the product.</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><strong>Harder to deal with holidays. </strong>If a person in a 4-5 person team takes a holiday you lose 25% productivity. That planning is almost impossible if that person is the designer or the only backend developer in that team.</span></li></ul><h2>Company challenges</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">And reflecting a bit more on the recurring problems we&#x27;ve been experiencing as a company I keep coming back to three main areas:</p><ol class="prezly-slate-list prezly-slate-list--numbered prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><strong>Doing too many things simultaneously: </strong>Both <a class="prezly-slate-link" href="https://www.jailhouse.be/" target="_blank" rel="noreferrer">Jesse</a> and I have a hands-on approach which I believe gets us to start too many things with no clear end in sight.</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><strong>Being founder driven:</strong> You must have heard this quote &#x27;<em>going from 0 to 1 million ARR is a lot easier than going from 1 to 5 million</em>. That is because you can get to the first million with a few talented individuals (and you don&#x27;t need management skills).</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><strong>Working/Overspending on stuff that&#x27;s not that important: </strong>I have many projects that I am 100% sure took us way more time, energy, and resources than we’d ever wanted to spend upfront. Heck, we should have probably never even tried if we knew it would take that long.</span></li></ol><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">And 1. and 3. can kill motivation as team members feel like projects are going on and on with no end in sight.</p><h1>The company we want to be</h1><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">We&#x27;re big believers in &quot;the calm company&quot; approach where teams are given enough freedom and responsibility to plan their own work. In this flat structure, work is organised by the people rather than a top-down command-and-control leadership style.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">But while it&#x27;s easy to hand out copies of &#x27;<a class="prezly-slate-link" href="https://basecamp.com/books/calm" target="_blank" rel="noreferrer">It does not have to be crazy at work</a>&#x27; it&#x27;s much harder to implement. I have discovered that this is a long-term transformation that touches many aspects of the business: hiring, mission/vision, and most importantly an internal transformation going from management to leadership which are two entirely different things.</p><h1>Product team reorganisation</h1><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">I&#x27;m not the biggest fan of being too strict about applying so-called &quot;proven methodology&quot;. We use a set of concepts from different methodologies where we cherry-pick and adopt the stuff that works for us.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Still, I was pondering how to improve the way we work together and ship stuff within Prezly and I found inspiration in two books/concepts:</p><h2>Shape-Up (by Basecamp)</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"><a class="prezly-slate-link" href="https://basecamp.com/shapeup" target="_blank" rel="noreferrer">Shape-up is a project/product management method by Basecamp</a> with good principles and guidelines on how to work together as a product team. </p><blockquote class="prezly-slate-quote prezly-slate-quote--align-inherit">As software teams start to grow, some common struggles appear:<br/>​<!-- -->​<br/>​<!-- -->- Team members feel like projects go on and on, with no end in sight.<br/>​<!-- -->- Product managers can’t find time to think strategically about the product.<br/>​<!-- -->- Founders ask themselves: “Why can’t we get features out the door like we used to in the early days?”<br/>​<!-- -->​<br/>​<!-- -->From <a class="prezly-slate-link" href="https://basecamp.com/shapeup/0.3-chapter-01#growing-pains" target="_blank" rel="noreferrer">Basecamp book Chapter 1: Growing Pains</a></blockquote><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">This spoke to me a lot. In fact, it&#x27;s a better-written version of some of the challenges I highlighted in the company challenges part. And there are three things I think we should implement within Prezly:</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"><strong>1) Strong focus on scoping (shaping)</strong></p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Everyone who wants to suggest a change/improvement needs to spend time on shaping/defining the problem well. </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">In practice, it is mostly senior people or me/Jesse that start shaping ideas. But having an explicit process (shapings documents, betting table) enables us to think about the problem enough and let the team work on the solution (within certain constraints).</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"><strong>2) Circuit Breaker / Appetite</strong></p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">The idea is that every project comes with a certain appetite which reflects how much time/money/resources you want to spend on a problem. Teams get a fixed amount of time to work on an issue; after that, the &#x27;circuit breaker&#x27; mechanism kicks in, forcing the team to stop working.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">This concept is extremely empowering for the people pitching and shaping the idea. </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"><strong>3) The Betting Process</strong></p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">When first reading the Shape-Up book, I internalised the betting process as some kind of democratic/point-based voting system where the pitch with the most points wins.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">But it&#x27;s nothing like that.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">The betting process is more like a conversation that keeps many different aspects of the business into account:</p><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Who would be the right person to work on this?</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Is that person free right now? Do they have a holiday planned?</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">How well does this project align with current business objectives?</span></li></ul><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">These are simple questions to answer individually, but together they create some kind of puzzle that is hard to explain.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">In the video, Ryan mentions that the betting process probably deserves its own book which I think is much harder to write as I it&#x27;s more of an art than a technique.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">In the first betting session, I noticed that the conversation creates alignment between leadership. The conversation is not about who is right (because no one knows) but about which experiment we&#x27;re doing first and how much we want to spend.</p><h1>Reduce team distractions</h1><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">You want to avoid any distractions for a team that is allocated to a shaped project. This is critically important as a team accepts the challenge of solving a specific business problem within the provided timeframe (appetite). ​<br/>​<!-- -->​<br/>​<!-- -->But, if you&#x27;re going to distract that team by assigning P1 issues or allocating them to client todos there is a big chance the whole shape-up method will fail. But then again, some things can&#x27;t wait.</p><h1>Quick Reaction Force (QRF Model)</h1><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">A while back I read a great medium article about creating a dedicated team for interruptions which they call the QRF (Quick Reaction Force).</p><p><a href="https://medium.com/engineering-manager-hub/engineering-org-structures-the-qrf-team-model-7b92031db33c">Engineering Org Structures— The QRF Team Model</a></p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">This model will work well with our Shape-Up experiment as it will ensure we have an available team for interruptions.</p><blockquote class="prezly-slate-quote prezly-slate-quote--align-inherit">The truth is, some things can’t wait. Compliance demands, a new employee onboarding, a large customer’s tiny configuration change — these are activity-generated work that just needs to get done with some sort of time-sensitive cadence.<br/>​<!-- -->​<br/>​<!-- -->From <a class="prezly-slate-link" href="https://medium.com/engineering-manager-hub/engineering-org-structures-the-qrf-team-model-7b92031db33c" target="_blank" rel="noreferrer">Medium.com - The QRF Team Model</a></blockquote><h1>The model that works</h1><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">By combining the Shape-Up method and the QRF Team Model the structure of the product team will look a bit like this:</p><img src="https://cdn.uc.assets.prezly.com/24217bd9-d558-439d-b14a-6dba7beb710a/-/resize/1200/-/format/auto/image.png" alt="Image"/><figcaption>Multiple Product teams + Quick Reaction Force</figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">I&#x27;m confident this combination will address some of the issues raised by the team during the last retrospectives. Additionally, the QRF model might create room to work on essential tasks (refactoring, admin tools) that currently do not get enough attention and might never be planned/shaped.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">At the end of each cycle, we form new project teams and move people around based on availability/expertise. I believe this rotation might positively impact team culture and knowledge sharing, but that&#x27;s all to be confirmed.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">I will post back in a few months with better insights.<br/>​<!-- -->​<br/>​<!-- -->Inspiration/Good reads:</p><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://basecamp.com/shapeup" target="_blank" rel="noreferrer">Shape-Up</a> (by Basecamp)</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://medium.com/engineering-manager-hub/engineering-org-structures-the-qrf-team-model-7b92031db33c" target="_blank" rel="noreferrer">The QRF Model</a> by <a class="prezly-slate-link" href="https://jgefroh.medium.com/" target="_blank" rel="noreferrer">Joseph Gefroh</a></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://linear.app/method" target="_blank" rel="noreferrer">Linear.App - Method</a></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://www.chameleon.io/blog/spotify-squads" target="_blank" rel="noreferrer">Why Squads are a Popular Failure for product teams</a> by Spotify</span></li></ul><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p></section></div>]]></description><link>undefined/multiple-product-teams</link><guid isPermaLink="true">undefined/multiple-product-teams</guid><pubDate>Tue, 02 Aug 2022 11:21:00 GMT</pubDate></item><item><title><![CDATA[New blog theme]]></title><description><![CDATA[<link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/7a2d1dd7-59fe-49ab-83dd-56a6393a97ea/-/resize/1200/-/format/auto/image.png"/><div class="ContentRenderer_renderer__tPJbs"><section class="prezly-slate-document" data-version="0.50"><h2>Upgraded the blog. It&#x27;s like Bea and Tailwind had a baby</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">In the previous blogging theme I <a class="prezly-slate-link" href="https://www.lifelog.be/how-i-built-this-blog" target="_blank" rel="noreferrer">hacked away in a few evenings</a> I was lacking quite some functionality like search and paging. Also, the theme didn&#x27;t score great in SEO and accessibility lighthouse audits.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">In the last weeks, the team has been helping me rework the blog using our existing/battle-tested tools and packages.</p><h2>Previous Blog</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">When I first <a class="prezly-slate-link" href="https://www.lifelog.be/how-i-built-this-blog" target="_blank" rel="noreferrer">moved my blog</a> to Prezly I started from an empty NextJs project. Using the PrezlySDK and ChakraUI I was able to set up a blog with minimal effort. </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">But it had <a class="prezly-slate-link" href="https://www.lifelog.be/how-i-built-this-blog#todo-list" target="_blank" rel="noreferrer">some issues and a list of todos</a> that were already solved in other Prezly themes.</p><h2>The new lifelog.be</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">This blog is still a <a class="prezly-slate-link" href="https://nextjs.org/" target="_blank" rel="noreferrer"><strong>Next.js</strong></a> application that is pulling in content from the Prezly CMS. But instead of starting from scratch, it&#x27;s forked from <a class="prezly-slate-link" href="https://www.prezly.com/themes/bea" target="_blank" rel="noreferrer">the Prezly Bea theme</a> which comes with everything I need to power this small blog.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">The site is deployed on <a class="prezly-slate-link" href="https://vercel.com/" target="_blank" rel="noreferrer"><strong>Vercel</strong></a> (the company behind Next). The developer experience is awesome where it auto deploys the blog on every commit/merge to main.</p><img src="https://cdn.uc.assets.prezly.com/7a2d1dd7-59fe-49ab-83dd-56a6393a97ea/-/resize/1200/-/format/auto/image.png" alt="Image"/><figcaption>Lifelog.be deployment on Vercel</figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">The site is rebuilt (Server Side Generation) and auto-deployed every time someone commits to <em>main </em>or when I write or update some content in Prezly.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">But because the codebase is a fork from <a class="prezly-slate-link" href="https://github.com/prezly/theme-nextjs-bea" target="_blank" rel="noreferrer">the Bea theme</a> it&#x27;s making us of different tools/packages that make my life so much easier:</p><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://github.com/prezly/javascript-sdk" target="_blank" rel="noreferrer">prezly/sdk</a>: interaction with Prezly APIs. Entity type definitions</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://github.com/prezly/content-renderer-react-js" target="_blank" rel="noreferrer">prezly/content-renderer-react-js</a>: story rendering that supports images, galleries, videos, embeds, tables, contact cards, etc....This package turns Prezly story format into React component(s)</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://github.com/prezly/analytics/tree/main/packages/analytics-nextjs" target="_blank" rel="noreferrer">prezly/analytics-nextjs</a>: tracking snippet to feed interaction (page visits, email campaigns, ...) into Prezly while giving the visitor privacy controls.</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://github.com/prezly/theme-kit-nextjs" target="_blank" rel="noreferrer">prezly/theme-kit-nextjs</a>: a collection of data-fetching functions, hooks and utility functions to reduce number of boilerplate/repetition code in different themes</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://github.com/prezly/themes-intl-messages" target="_blank" rel="noreferrer">prezly/themes-intl-messages</a>: translated strings to enable theme translations</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://www.algolia.com/" target="_blank" rel="noreferrer">algolia</a>: search functionality within the Prezly themes</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://www.npmjs.com/package/next-plausible" target="_blank" rel="noreferrer">next-plausible</a>: enable plausible analytics on the blog</span></li></ul><h2>Upcoming/Todos</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">With this update, there are a lot of things that were addressed in the default Prezly theme. So my <a class="prezly-slate-link" href="https://www.lifelog.be/how-i-built-this-blog#todo-list" target="_blank" rel="noreferrer">previous todo/issue list</a> now looks like this:</p><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">✅ <a class="prezly-slate-link" href="https://github.com/prezly/theme-nextjs-starter" target="_self">Use theme-starter</a> boilerplate code to fetch content</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">✅ Score better on Lighthouse Audit tools</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">✅ Allow paging from home page</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">✅ Support Search</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">✅ Implement subscribe functionality (stay updated)</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">✅ Improve SEO/meta tags</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Add RSS feed (and any other feed protocols people use)</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">✅ Get rid of ChakraUI</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Make better use of <a class="prezly-slate-link" href="https://uploadcare.com/" target="_self">Uploadcare.com</a> (using <a class="prezly-slate-link" href="https://www.npmjs.com/package/@prezly/uploadcare-image" target="_self">uploadcare-image</a>)</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">✅ Bring back sitemap.xml</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Fetch intro text from newsroom boilerplate (make customiseable)</span></li></ul><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p></section></div>]]></description><link>undefined/new-blog-theme</link><guid isPermaLink="true">undefined/new-blog-theme</guid><pubDate>Tue, 26 Jul 2022 13:54:00 GMT</pubDate></item><item><title><![CDATA[Moving to Spain]]></title><description><![CDATA[<link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/6384bdb2-58e1-4275-83c4-09d837bc0399/-/resize/1200/-/format/auto/3_Magi_IMG_0695.jpeg"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/9861c011-514b-49aa-9920-184562ce5709/-/resize/1200/-/format/auto/2_Magi_IMG_0567.jpeg"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/56a293ed-bbc7-42e5-ace4-43f8006a50af/-/resize/1200/-/format/auto/19_Magi_IMG_0683.jpeg"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/d1905116-b2e4-4e3e-ba11-5e3a4be42458/-/resize/1200/-/format/auto/18_Magi_IMG_0657.jpeg"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/59cbd819-ee2b-4afc-b9fc-250b843e99ed/-/resize/1200/-/format/auto/Parallax_pueblo_IMG_5753.jpeg"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/7f37fca3-67ef-4c78-9769-81996df5cec3/-/resize/1200/-/format/auto/vista%20balsa_Magi_IMG_0638.jpeg"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/c5829692-4a1f-4bdd-a82a-c967d90b6792/-/resize/1200/-/format/auto/22_Magi_IMG_0686.jpeg"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/5e1301cb-9ddf-45a3-85e8-5f7ba19dba3c/-/resize/1200/-/format/auto/Screen%20Shot%202022-07-21%20at%2012.01.58.png"/><div class="ContentRenderer_renderer__tPJbs"><section class="prezly-slate-document" data-version="0.50"><h2>We bought a house in Catalonia and we&#x27;re moving this summer</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">We&#x27;ve been contemplating a move abroad for a few years now and we finally did it. In August 2022 we&#x27;ll be moving to the Spanish Pyrenees where we bought a house.</p><h2><strong>But, why?</strong></h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">I&#x27;ve been trying to answer this question for hundreds of times now and I&#x27;ve learned that the best answer is</p><blockquote class="prezly-slate-quote prezly-slate-quote--align-inherit">Why not?</blockquote><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">It switches the conversation from a defensive (<em>why would you be so crazy to do this?) </em>mindset to a more balanced conversation where people try to convince me that Belgium isn&#x27;t that bad. And it&#x27;s not.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">The truth is that we don&#x27;t really know how good it is to live and work in Belgium because we never compared. Every time we take <a class="prezly-slate-link" href="https://www.lifelog.be/swedish-summer" target="_blank" rel="noreferrer">a long holiday</a> we realise how small our part of the world really is and dream about how things would be somewhere else.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Additionally I would like to be closer to nature and my kids to spend more time outside.</p><h2><strong>The House</strong></h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">The house is an old 2 story building in the center of a small mountain village. While the house has 7 bedrooms it doesn&#x27;t feel spacious. That&#x27;s because it&#x27;s two different houses merged together which results in different floor levels and a lot of small rooms. We&#x27;re looking to fix that over time.</p><img src="https://cdn.uc.assets.prezly.com/6384bdb2-58e1-4275-83c4-09d837bc0399/-/resize/1200/-/format/auto/3_Magi_IMG_0695.jpeg" alt="Image"/><img src="https://cdn.uc.assets.prezly.com/9861c011-514b-49aa-9920-184562ce5709/-/resize/1200/-/format/auto/2_Magi_IMG_0567.jpeg" alt="Image"/><img src="https://cdn.uc.assets.prezly.com/56a293ed-bbc7-42e5-ace4-43f8006a50af/-/resize/1200/-/format/auto/19_Magi_IMG_0683.jpeg" alt="Image"/><img src="https://cdn.uc.assets.prezly.com/d1905116-b2e4-4e3e-ba11-5e3a4be42458/-/resize/1200/-/format/auto/18_Magi_IMG_0657.jpeg" alt="Image"/><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">The house is located in a mountain town (Pyrenees) at an altitude of 900m. The village ​ has about 30 permanent residents so we are increasing the population by 15%.</p><img src="https://cdn.uc.assets.prezly.com/59cbd819-ee2b-4afc-b9fc-250b843e99ed/-/resize/1200/-/format/auto/Parallax_pueblo_IMG_5753.jpeg" alt="Image"/><img src="https://cdn.uc.assets.prezly.com/7f37fca3-67ef-4c78-9769-81996df5cec3/-/resize/1200/-/format/auto/vista%20balsa_Magi_IMG_0638.jpeg" alt="Image"/><img src="https://cdn.uc.assets.prezly.com/c5829692-4a1f-4bdd-a82a-c967d90b6792/-/resize/1200/-/format/auto/22_Magi_IMG_0686.jpeg" alt="Image"/><img src="https://cdn.uc.assets.prezly.com/5e1301cb-9ddf-45a3-85e8-5f7ba19dba3c/-/resize/1200/-/format/auto/Screen%20Shot%202022-07-21%20at%2012.01.58.png" alt="Image"/><h2>The Plan &amp; Moving</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">We figured the summer is the best time to move. This gives us enough time to prepare before the kids go back to school (in Catalan) in September.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">We don&#x27;t want to take too much stuff so we&#x27;re going to move our belongings in two batches using the MobileHome and car+trailer. I also promised the kids I could bring the chickens which I&#x27;m starting to regret. </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Will try to update this blog with our adventure. Onwards!</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p></section></div>]]></description><link>undefined/moving-to-spain</link><guid isPermaLink="true">undefined/moving-to-spain</guid><pubDate>Mon, 11 Jul 2022 22:00:00 GMT</pubDate></item><item><title><![CDATA[10 tips for better product analytics]]></title><description><![CDATA[<link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/d40e72e3-d991-4104-bd7f-695a5439a1d3/-/resize/1200/-/format/auto/image.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/0af89af9-f94b-47b1-afa8-0a79403c6d28/-/resize/1200/-/format/auto/image.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/2180aa34-2f32-4b0a-847b-2afce98a3875/-/resize/1200/-/format/auto/image.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/31d904c3-664f-4543-acc9-e55680656671/-/resize/1200/-/format/auto/image.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/9d4ffdd7-7e63-478b-99bf-ecf01fcb6778/-/resize/1200/-/format/auto/image.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/795117ff-8d33-4eb5-ac1d-484e8f304cb6/-/resize/1200/-/format/auto/image.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/a601055f-829c-4acc-b228-e6e3f87eec08/-/resize/1200/-/format/auto/image.png"/><div class="ContentRenderer_renderer__tPJbs"><section class="prezly-slate-document" data-version="0.50"><h2> </h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"><em>Disclaimer: I am no expert in product analytics and definitely not claiming to be. I did spend the last 5 years playing with a lot of different analytical tools and made a lot of mistakes. With this post I hope other people can avoid some of those.</em></p><hr class="prezly-slate-divider"/><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">While most startup books and marketing series talk about being &#x27;<em>data driven</em>&#x27;, I&#x27;ve come to understand that it&#x27;s easier said than done. ​<br/>​<!-- -->​<br/>​<!-- -->I&#x27;ve done my fair share of product analytics and I have found myself trying to convince people that the only way the project could be successful if we would <strong>measure and evaluate it. </strong>But that isn&#x27;t always that simple.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">In the last 10 years, <a class="prezly-slate-link" href="https://www.lifelog.be/solving-marketing-attribution-using-segment" target="_self">I&#x27;ve built my own tracking stack</a>, became a segment.com product expert and have used over 30 integrations <a class="prezly-slate-link" href="https://segment.com/catalog/" target="_self">from the segment.com catalog</a>.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Here are some things I learned to get better at (product) analytics:</p><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://www.lifelog.be/10-tips-for-better-product-analytics#define-what-you-want-to-report-on" target="_self">Define what you want to report on</a></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://www.lifelog.be/10-tips-for-better-product-analytics#use-a-tracking-standard-analyticsjs" target="_self">Use a tracking standard</a></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://www.lifelog.be/10-tips-for-better-product-analytics#pick-good-event-names" target="_self">Pick good event names</a></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://www.lifelog.be/10-tips-for-better-product-analytics#dont-use-event-names-if-you-can-use-event-traits" target="_self">Don&#x27;t use event names if you can use event traits</a></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://www.lifelog.be/10-tips-for-better-product-analytics#dont-count-on-page-calls" target="_self">Do not count on page() calls</a></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://www.lifelog.be/10-tips-for-better-product-analytics#choose-tools-that-support-group" target="_self">Choose tools that support group()</a></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://www.lifelog.be/10-tips-for-better-product-analytics#mix-server-and-client-side-calls" target="_self">Mix server and client side calls</a></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://www.lifelog.be/10-tips-for-better-product-analytics#document-your-tracking-schema" target="_self">Document your tracking schema</a></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://www.lifelog.be/10-tips-for-better-product-analytics#teach-your-team-analytics" target="_self">Teach your team analytics</a> </span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://www.lifelog.be/10-tips-for-better-product-analytics#integrate-tracking-in-your-stack" target="_self">Integrate tracking in your stack</a></span></li></ul><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Let me know if you have any other important tips I can learn from.</p><hr class="prezly-slate-divider"/><h2>Define what you want to report on</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">This is the mistake I made the most: </p><blockquote class="prezly-slate-quote prezly-slate-quote--align-inherit">Look at all these cool/powerful reports we can make</blockquote><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Before you think about tracking or product analytics, try to define the thing you want to measure as simple as possible. <a class="prezly-slate-link" href="https://en.wikipedia.org/wiki/KISS_principle" target="_blank" rel="noreferrer">KISS</a>. I recommend to formulate it in a question format:</p><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><strong>Bad: </strong>How much better is our new account activation wizard?</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><strong>Good</strong>: How long does it take on average to go from step 1 to step 5 of the account activation wizard?</span></li></ul><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><strong>Bad: </strong>Can you create a dashboard of the features each customer uses?</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><strong>Good</strong>: How many of our active customers (non-trial) have used feature X at least once in the last month?<br/>​</span></li></ul><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Defining the question up front (<a class="prezly-slate-link" href="https://www.metabase.com/docs/latest/users-guide/04-asking-questions.html" target="_self">one of the key concepts of Metabase</a>) works well to keep it simple.</p><h2>Use a tracking standard (analytics.js)</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">When we started out we had different integration code for Mixpanel, Customer.io and other platforms we wanted to send data to. Which meant that we had to maintain those tracking calls separately.</p><img src="https://cdn.uc.assets.prezly.com/d40e72e3-d991-4104-bd7f-695a5439a1d3/-/resize/1200/-/format/auto/image.png" alt="Image"/><figcaption>Customer.io Tracking call - Mixpanel Tracking call</figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Note that the more integrations you use (we currently use 6) the more code you need to maintain. Abstracting this all in one tracking language/standard was the main reason for switching to segment (using <a class="prezly-slate-link" href="https://segment.com/docs/connections/sources/catalog/libraries/website/javascript/" target="_blank" rel="noreferrer">analytics.js</a>) at that time.</p><img src="https://cdn.uc.assets.prezly.com/0af89af9-f94b-47b1-afa8-0a79403c6d28/-/resize/1200/-/format/auto/image.png" alt="Image"/><figcaption>same calls in analytics.js standard</figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">The analytics library (<a class="prezly-slate-link" href="https://github.com/segmentio/analytics.js/" target="_blank" rel="noreferrer">available in open-source</a>) will translate that payload into the format your integrations require. </p><h2>Pick good event names</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Install a consistent naming scheme for your events. We stick with the following rules:</p><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Human Readable</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Split words by spaces</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">[Entity] [Action]</span></li></ul><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Which leads to events like:</p><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Recipient Added</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Story Published</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Story Removed</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Contact Tag Applied</span></li></ul><h2>Don&#x27;t use event names if you can use event traits</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Regardless of which integrations you have enabled there is always a limit on the number of events you can use. <a class="prezly-slate-link" href="https://www.intercom.com/help/en/articles/5245634-event-limits-troubleshooting-and-f-a-q" target="_self">Intercom has a default limit of 120 events</a> so at some point you&#x27;re going to hit limits.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">That&#x27;s why you&#x27;ll find yourself balancing when to use a dedicated event vs adding more context in the tracking payload.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">An example:</p><img src="https://cdn.uc.assets.prezly.com/2180aa34-2f32-4b0a-847b-2afce98a3875/-/resize/1200/-/format/auto/image.png" alt="Image"/><figcaption>Dedicated Events vs Tracking Properties</figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">But that decision also depends on which integrations you have enabled. While Intercom only allows setting up automation based on the event name, other tools like Customer.io are much more powerful.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Mixpanel allows you to use that tracking payload to <a class="prezly-slate-link" href="https://help.mixpanel.com/hc/en-us/articles/115004562246-Combine-Events-To-Create-A-Custom-Event" target="_self">create Custom Events</a>.</p><img src="https://cdn.uc.assets.prezly.com/31d904c3-664f-4543-acc9-e55680656671/-/resize/1200/-/format/auto/image.png" alt="Image"/><figcaption>Custom Events in Mixpanel</figcaption><h2>Don&#x27;t count on page() calls</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Most tracking libraries (as well as analytics.js) will start tracking data right away based on page paths or routing changes (SPA libs). That means that you immediately have interesting data to use.</p><img src="https://cdn.uc.assets.prezly.com/9d4ffdd7-7e63-478b-99bf-ecf01fcb6778/-/resize/1200/-/format/auto/image.png" alt="Image"/><figcaption>Example Page() calls in Segment debugger</figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">I learned that this data is oftentimes not that trustworthy or useful:</p><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Route changes (changing urls) mess up historic reports</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Often lacks context (tracking properties)</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Variations of content (non-canonical pages) need extra thought</span></li></ul><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">That&#x27;s why today we&#x27;re not tracking or using any page() calls in the app anymore but rather use our own events.</p><h2>Choose tools that support group()</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Most SaaS businesses have the concept of one account that is linked multiple user accounts. When we started using product analytics all events and tracking properties could only be linked to the user entity and thus also every report was tied to a user.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">To work around this we found ourselves adding grouping tracking properties to the user analytics payload:</p><img src="https://cdn.uc.assets.prezly.com/795117ff-8d33-4eb5-ac1d-484e8f304cb6/-/resize/1200/-/format/auto/image.png" alt="Image"/><figcaption>company traits going to identify()</figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">These properties allowed us then to create reports for all trials` or grouping certain reports by company...</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"><strong>Introducing group()</strong></p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">There is a better way to do it and that&#x27;s using group() calls which is much more inline with most SaaS businesses` user/grouping model.</p><img src="https://cdn.uc.assets.prezly.com/a601055f-829c-4acc-b228-e6e3f87eec08/-/resize/1200/-/format/auto/image.png" alt="Image"/><figcaption>Using a group() call</figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">This way we&#x27;re splitting up user and company properties in their own calls:</p><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><em>Identify()</em> properties → Traits/properties that belong to a user</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><em>Group()</em> properties → Tying the user to a group + traits/properties that belong to a company</span></li></ul><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">These group() calls <a class="prezly-slate-link" href="https://github.com/segmentio/analytics.js/commit/48370278ba1cd808a5f9c4ba9958e1bc843adea7" target="_self">were first introduced in 2013</a> and while most integrations have caught up make sure to double check that your integration supports group() calls. It makes product analytics so much easier!</p><h2>Mix server and client side calls</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">You can&#x27;t fully count on client side tracking calls for important reports. That is because: </p><ol class="prezly-slate-list prezly-slate-list--numbered prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Users might have ad blocking browser/extensions </span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Something might go wrong with the tracking call (CORS, network issue, JS error...)</span></li></ol><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">That&#x27;s why we&#x27;re using a mix of server side and client side calls. Important calls like &#x27;Trial Account Activated&#x27; are triggered both on the server and the client to make sure that any automations also trigger for people that don&#x27;t want tracking.</p><h2>Document your tracking schema</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">I have yet to see a company with a clean tracking plan. As time goes by people add tracking properties, rename certain traits or create events that are not named properly. What about &#x27;test&#x27; events?</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">That&#x27;s why I&#x27;d suggest creating some kind of tracking document (<a class="prezly-slate-link" href="https://help.mixpanel.com/hc/en-us/articles/360001307806-Lexicon-Overview" target="_self">Mixpanel has the tracking lexicon</a>, <a class="prezly-slate-link" href="https://segment.com/docs/protocols/tracking-plan/create/" target="_blank" rel="noreferrer">segment has tracking plans and protocols</a>) to keep track of your events and user/company traits.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Bonus points for keeping some kind of status to deprecate/clean up old events and getting everyone to use this!</p><h2>Teach your team analytics</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">For any business to embrace data driven decision-making, your team needs to understand what&#x27;s going on and be able to make better calls using data.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Here are some things I do to encourage people to use data:</p><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Create a document explaining analytics at your company</span><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Include the tools (mixpanel, amplitude) they can use</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Highlight which data is where</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Link to the tracking schema</span></li></ul></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Give everyone full access to segment/analytics tools</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Set up dashboards/reports for your team and teach them how to use it</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Ask for success criteria when defining/starting projects</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Argue using Data. Participate in conversations linking to a report/chart/data to back you up.</span></li></ul><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Even if you do all of the above, it&#x27;s not a guarantee that people in the company will take data as serious as you want them to.</p><h2>Integrate tracking in your stack</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">While most analytics platforms require you to load their javascript/sdk on your page I ​ strongly recommend making the tracking components part of your build pipeline. This will bundle all analytics interactions as part of the main application and will be much more reliable. <a class="prezly-slate-link" href="https://github.com/segmentio/analytics-next/#-using-as-an-npm-package" target="_self">Analytics v2 has an npm package</a> you can import in your project.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">In combination with that, you can proxy your analytics calls. This will turn third-party tracking calls (to external domains) to a first-party XHR call similar to how most applications interact with their API making it practically impossible to block by browsers or blocking extensions.</p><hr class="prezly-slate-divider"/><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Because we&#x27;re doing an extensive feature audit I am going to write more about the different ways we use product analytics to make roadmap decisions. In absence of a subscribe box you can <a class="prezly-slate-link" href="https://twitter.com/digitalbase" target="_self">follow-me on twitter for updates</a>.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"><em>Preview image </em><a class="prezly-slate-link" href="https://unsplash.com/@isaacmsmith" target="_blank" rel="noreferrer"><em>by Isaac Smith</em></a><em> on Unsplash</em></p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p></section></div>]]></description><link>undefined/10-tips-for-better-product-analytics</link><guid isPermaLink="true">undefined/10-tips-for-better-product-analytics</guid><pubDate>Thu, 17 Mar 2022 11:51:00 GMT</pubDate></item><item><title><![CDATA[Can I get rid of my phone?]]></title><description><![CDATA[<div class="ContentRenderer_renderer__tPJbs"><section class="prezly-slate-document" data-version="0.50"><h2> </h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Because <a class="prezly-slate-link" href="https://www.lifelog.be/i-forgot-my-phone-at-an-airport-and-its-the-best-thing-that-happened" target="_self">I learned the hard way that</a> my phone usage was messing with my mood I&#x27;ve been trying to limit my phone usage with mixed success. </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Telling people about what happened most reactions were something like</p><blockquote class="prezly-slate-quote prezly-slate-quote--align-inherit">Sounds like a you problem, not a phone problem</blockquote><blockquote class="prezly-slate-quote prezly-slate-quote--align-inherit">It feels like you just have a problem regulating your own usage.</blockquote><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Which I would agree with. But for me the easy way out would be to not carry that device in the first place. It&#x27;s like I&#x27;m constantly carrying a heroine/crack/pinball machine in my pocket.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">A colleague compared it to an alcohol addiction: The first step is to admit you have a problem and start owning it. But to train new habits the next weeks would be a whole lot easier if the fridge wasn&#x27;t filled with cold beers 🍻.</p><h2>Do I need a phone at all?</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">After the weekend I left my phone at home which was easier than expected. I did learn the hard way about some things I need my phone for:</p><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><u>(on the go) payments</u>. I try not to carry my wallet and got used to paying with my phone</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><u>2 factor authentication</u>. Sites/platforms that require 2 factor authentication (by SMS)</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><u>internet sharing.</u> I avoid coffee-bar/other peoples wifi and prefer my own phone/VPN</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><u>calendar</u>. Reminders for events/social activities or zoom calls</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><u>itme</u>. Another type of 2FA app the Belgian government/some sites use</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><u>pictures/video</u>. Taking a picture of a phone number, a menu or a family activity to use later</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><u>podcasts/music</u>. The thing i missed the most not carrying my phone.</span></li></ul><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">My first idea was to figure out if these things can be solved with other devices.</p><h2>Alternative hardware</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Here is a list of stuff I considered buying to replace some of the functions listed above:</p><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Wallet/Bank Card/Cash - <em>Cost 0$</em></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Mobile Router/Mifi/5G dongle - <em>Cost 60 - 400$</em></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Mirrorless Camera - <em>Cost 400 - 1200$</em></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Audio Player/Ipod Touch - <em>Cost 400 - 800$</em></span></li></ul><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">With this I was replacing one device (Android phone) with about 1500-2000$ other hardware doing exactly the same 🤯. </p><h2>The good/the bad/the ugly</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Most high-end smartphones would be support all of these functions and more cost-efficient. So what if I do keep my phone for pure essentials? I started analysing my behaviour (digital wellbeing app in Android) together with taking notes about my mood.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">A short summary:</p><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><strong>The good</strong>: Internet sharing, calendar, 2FA/itsme, pictures/video, podcasts/music</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><strong>The bad</strong>: Checking the news, monitoring stocks/crypto, Slack, Github, YouTube, messaging apps</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><strong>The ugly</strong>: Twitter, Reddit, Hacker News, Doom Scrolling. </span></li></ul><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">For the last category I found that sometimes an hour flew by just doom scrolling my phone leaving me in a bad mood (something along the lines of &#x27;<em>the world is fucked&#x27;). </em>This also affected the total hours of sleep as it was harder to catch sleep or I just stayed up too late. </p><h2>Keeping a phone for pure essentials</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">What would be the best way to keep my phone usage to everything in the &#x27;good&#x27; category and preventing me from using it to do anything else?</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Both android and IOS have extensive tools on restricting phone usage. I decided to uninstall all apps in the bad/ugly category and only allow the apps that are good for me.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">For everything else I set the timer to 0 minutes/day and asked my daughter to choose/remember the unlocking pin code so I could not cheat.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Let&#x27;s see how it goes.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p><h2> </h2></section></div>]]></description><link>undefined/can-i-get-rid-of-my-phone</link><guid isPermaLink="true">undefined/can-i-get-rid-of-my-phone</guid><pubDate>Fri, 11 Mar 2022 09:46:00 GMT</pubDate></item><item><title><![CDATA[I forgot my phone at an airport and it's the best thing that happened!]]></title><description><![CDATA[<div class="ContentRenderer_renderer__tPJbs"><section class="prezly-slate-document" data-version="0.50"><h2> </h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Annelies and I had planned a last-minute four-day road trip through the Spanish Pyrenees to see what it would be like living there.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">As we lost a lot of time in the airport (instructions on where to go in Charleroi Airport are terrible), we were caught queuing while we heard the last call for passengers to Santander Airport. You know it&#x27;s not a good sign if they start calling out your name from the airport speakers.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">In a last-minute rush to try and make the flight, we raced through the security checkpoint and managed to make it on the Boeing right before they closed the door. </p><h2><strong>Shit, where is my phone?</strong></h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">With my heart racing at 140bpm, I found my seat trying to ignore the evil looks from the other passengers. As I had to put my luggage in the overhead compartment, I took out my headphones and checked my pockets for my phone.</p><blockquote class="prezly-slate-quote prezly-slate-quote--align-inherit"><em>Shit, where is my phone?</em></blockquote><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">After checking with Annelies, I realised I didn&#x27;t know where my phone was. While the stewards provided safety instructions, we dialed my number to check: &#x27;Hello security?&#x27; </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">It turns out that I left the phone in one of the plastic trays at the security scan. Good luck convincing the security officer to move heaven and earth to try and get the phone on the plane. 😃</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">The first thing that raced through my mind was the Covid Safe app to go through customs in Spain. Luckily we had generated and printed the Spanish tourist document that included a step regarding what they call &#x27;the health passport.&#x27;</p><h2><strong>Feeling naked</strong></h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">The first 24 hours in Spain, I felt like a part of me was missing. So many small interactions where I would typically have taken out my phone: Reconnecting to the mobile network while being taxied to the gate, checking social media to pass the time in a queue, or just taking a picture.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Because of the lack of dopamine kicks, I noticed that I was a little moody the first night wondering what I would have missed while trying to convince myself that a holiday without a phone would be hard. </p><h2><strong>Great times!</strong></h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">In the following days, I started to feel much calmer and less anxious. I realised it had been over ten years of being close to a mobile device in one way or another and I have developed some unhealthy habits.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">After that, my mood just got better and better. Fair enough, that can also be explained by the beautiful landscapes or the fact that we had a long weekend only having to take care of ourselves for the first time in five years. :-)</p><h2><strong>If I can&#x27;t have it, you can&#x27;t have it!</strong></h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Spending so much time together, I became annoyed by everyone else&#x27;s phone usage. And even though Annelies has a much more healthy attitude towards her phone, I still find it noticeable how big of a role that phone plays in our daily lives: Voice/video calls with the kids, reading up about changes of rules around wearing masks at schools, or just browsing the web to find tips on what to visit or where to eat. </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Even now on the flight where I write this, the guy to my left is playing on his Switch while the guy on the right is browsing/typing in WhatsApp, although we don&#x27;t have internet service on the flight. The sad part: we didn&#x27;t even say hello. </p><h2><strong>Going forward</strong></h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">In half an hour, we&#x27;re going to land in Charleroi Airport and I&#x27;m about to head to lost and found to retrieve my phone. I will try and keep it powered off for a few more days while I figure out what my world would look like without my phone. </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Onwards!</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p></section></div>]]></description><link>undefined/i-forgot-my-phone-at-an-airport-and-its-the-best-thing-that-happened</link><guid isPermaLink="true">undefined/i-forgot-my-phone-at-an-airport-and-its-the-best-thing-that-happened</guid><pubDate>Wed, 16 Feb 2022 10:37:00 GMT</pubDate></item><item><title><![CDATA[Redesigning the writing & publishing experience]]></title><description><![CDATA[<link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/88a7192d-ef7f-4c5b-8921-120786942254/-/format/auto/new-button.gif"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/4a5a82c4-9055-4c59-b1b4-321504575f7b/-/resize/1200/-/format/auto/image.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/bd800a38-294a-4bfe-8625-f2ec88eaf50e/-/resize/1200/-/format/auto/image.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/ad50f44f-18ab-436f-8987-d6a866b90762/-/resize/1200/-/format/auto/image.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/c0a02e1b-fdc9-486d-bad9-826136c3ffa8/-/resize/1200/-/format/auto/image.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/5237e87d-9bf5-431f-b574-1359747e78d3/-/resize/1200/-/format/auto/image.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/f0412fc1-22fa-4e11-9afc-326d089c9055/-/resize/1200/-/format/auto/image.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/4f812949-e7d4-421f-b3d8-89a78d9589f4/-/resize/1200/-/format/auto/image.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/17aea632-9ca5-45ae-b382-2e0f688ad227/-/resize/1200/-/format/auto/image.png"/><div class="ContentRenderer_renderer__tPJbs"><section class="prezly-slate-document" data-version="0.50"><h2>The interface in which I am writing this blog post is over 5 years old and has UX issues. A quick write-up of what we&#x27;re thinking about and what we are struggling with.</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">This project can be broken up in three different components:</p><ol class="prezly-slate-list prezly-slate-list--numbered prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">The writing experience / Editor itself</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">CMS / The story editing interface</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">The publication flow</span></li></ol><h2>The editing experience</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Turns out that building a good editor in 2022 is not as easy as it sounds. While Google Docs, Dropbox Paper, Notion and Coda have their own proprietary solutions there is nothing out there that comes close to that level of quality.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">In our research, when it comes to open-source projects, there is only really <a class="prezly-slate-link" href="https://www.slatejs.org/examples/richtext" target="_self">SlateJs</a> (24k stars) and <a class="prezly-slate-link" href="https://tiptap.dev/" target="_self">TipTap</a> (14k stars) worth considering to build an experience on.</p><p><a href="https://twitter.com/digitalbase/status/1400440530610315271">Gijs Nelissen on Twitter</a></p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">I&#x27;ve wrote about this in a previous blog post:</p><p><a href="https://www.lifelog.be/create-an-editing-experience-people-love">Create an editing experience people love</a></p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">We&#x27;ve been investing in <a class="prezly-slate-link" href="https://github.com/prezly/slate" target="_self">our version of slate editor</a> and we&#x27;ve come a long way including keyboard shortcuts, a new + menu, embeds/website bookmark, auto-formatting/detection and improved text-alignment.</p><img src="https://cdn.uc.assets.prezly.com/88a7192d-ef7f-4c5b-8921-120786942254/-/format/auto/new-button.gif" alt="Image"/><figcaption>Check out the + menu or inserting bookmark functionality</figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">We still have long way to go but a solid plan how to get there. Short/mid term improvements include:</p><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">better linking (link to internal references)</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">improve the support for pasting from GDocs, PDF, ...</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">placeholder components</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">drag-dropping components</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">more customisation on sizing/alignment of galleries</span></li></ul><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Most best practices can be borrowed from popular editors like Coda, Google Docs, Notion and even Microsoft Word. Oh, did you know the most requested editor feature is text-justification (for the web)! 🤯</p><h2>CMS / The story editing interface</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Turns out that this is a much harder problem to solve. Here is an overview of the story editing interface for a multilingual story with 2 translations in an account that has multiple newsrooms.</p><img src="https://cdn.uc.assets.prezly.com/4a5a82c4-9055-4c59-b1b4-321504575f7b/-/resize/1200/-/format/auto/image.png" alt="Image"/><figcaption>Current Editing interface - two languages and multiple newsrooms</figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Although we do not have any major complaints (it&#x27;s been in use for over 5 years) and is being used 1000x per day with over 300k stories published I feel there is a lot of room for improvement.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Some of the issues we might want to address:</p><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">The left sidebar draws a lot of attention taking away attention from the content</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Language settings everywhere. The sidebar has a language switcher while translations and switching translations happens in the &#x27;manage&#x27; dropdown</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Publication settings like visibility and publication date are in the left sidebar but the flow to finally publish a story is in the right top corner</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Newsroom picker is a setting but was lifted as some kind of super setting. On other pages it acts as a filter/navigation but on this page it&#x27;s a setting</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">General page canvas. The combination of the sidebar, sub-navigation and manage tab makes the interface overwhelming</span></li></ul><h2>The publication flow</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">In today&#x27;s interface the publication flow is mixed in with the rest of the settings and the writing interface. And because some of the settings (scheduling, embargo, private story) affect the publishing behaviour this comes with some confusion.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">To work around this we have introduced a &#x27;great job publishing&#x27; success modal together with dynamic labels on the main publish button.</p><img src="https://cdn.uc.assets.prezly.com/bd800a38-294a-4bfe-8625-f2ec88eaf50e/-/resize/1200/-/format/auto/image.png" alt="Image"/><figcaption>Indicating what to expect</figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">The more we work on the story edit and gather more information through desk research and customer interviews the more we are realizing that it might be better to break up the publication flow all together.</p><h1>We&#x27;re stuck</h1><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">At this point I feel we&#x27;re stuck. We&#x27;ve looked at all our competitors, the best CMS systems out there and have browsed the web for inspiration.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">It feels like we&#x27;ve dug our hole too deep and are trying to solve too many things at the same time. Please send help!</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Here is a list of assets/attempts (please note that these are just random picks from a larger project including low fidelity wireframes or idea sketches)</p><img src="https://cdn.uc.assets.prezly.com/ad50f44f-18ab-436f-8987-d6a866b90762/-/resize/1200/-/format/auto/image.png" alt="Image"/><figcaption>Accordeon</figcaption><img src="https://cdn.uc.assets.prezly.com/c0a02e1b-fdc9-486d-bad9-826136c3ffa8/-/resize/1200/-/format/auto/image.png" alt="Image"/><figcaption>Coda Style Accordeon</figcaption><img src="https://cdn.uc.assets.prezly.com/5237e87d-9bf5-431f-b574-1359747e78d3/-/resize/1200/-/format/auto/image.png" alt="Image"/><figcaption>Icon Based Navigation panel</figcaption><img src="https://cdn.uc.assets.prezly.com/f0412fc1-22fa-4e11-9afc-326d089c9055/-/resize/1200/-/format/auto/image.png" alt="Image"/><figcaption>Fixed menu - Toggle Right</figcaption><img src="https://cdn.uc.assets.prezly.com/4f812949-e7d4-421f-b3d8-89a78d9589f4/-/resize/1200/-/format/auto/image.png" alt="Image"/><figcaption>Different variations of the sidebar</figcaption><img src="https://cdn.uc.assets.prezly.com/17aea632-9ca5-45ae-b382-2e0f688ad227/-/resize/1200/-/format/auto/image.png" alt="Image"/><figcaption>More sidebar variations</figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p></section></div>]]></description><link>undefined/redesigning-the-writing--publishing-experience-tcdet7</link><guid isPermaLink="true">undefined/redesigning-the-writing--publishing-experience-tcdet7</guid><pubDate>Thu, 10 Feb 2022 17:59:00 GMT</pubDate></item><item><title><![CDATA[How Prezly Uses Prezly to run Prezly]]></title><description><![CDATA[<link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/c8ae11f1-a8aa-4b12-b592-1680cf8b0a1b/-/resize/1200/-/format/auto/image.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/0d341e5e-11f9-4bd6-a2b3-510fc27ce4b0/-/resize/1200/-/format/auto/image.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/0f6e6892-7e74-42a4-9b0d-5d5039bce499/-/resize/1200/-/format/auto/image.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/260369a9-9de5-4eff-a81b-140175a49b8e/-/resize/1200/-/format/auto/image.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/ce6e33e0-5718-4e38-abb3-7a245957e1aa/-/format/auto/send_help.gif"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/3dd8632e-e05e-403c-bed0-0dc171af559e/-/resize/1200/-/format/auto/image.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/50066783-f311-4771-8f1e-bff56d9584bd/-/resize/1200/-/format/auto/image.png"/><div class="ContentRenderer_renderer__tPJbs"><section class="prezly-slate-document" data-version="0.50"><h2> </h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">I&#x27;ve been thinking for a while that I needed to document the different ways we use Prezly to run Prezly. Browsing twitter today I saw Peter Suhm started <a class="prezly-slate-link" href="https://www.reform.app/blog/dogfooding/" target="_self">a great trend.</a></p><p><a href="https://twitter.com/petersuhm/status/1486326156836098052">Peter Suhm on Twitter</a></p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">So figured it was time for me to do the same. Let&#x27;s go!</p><h1>#1 We send our customer newsletters through Prezly</h1><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Every month we send out a wrap-up of what&#x27;s going on with Prezly. The entire content of the newsletter is added to the body of the email while they are published <a class="prezly-slate-link" href="https://www.prezly.com/help/best-practices/prezly-roundup" target="_self">in the help section.</a></p><img src="https://cdn.uc.assets.prezly.com/c8ae11f1-a8aa-4b12-b592-1680cf8b0a1b/-/resize/1200/-/format/auto/image.png" alt="Image"/><figcaption>Prezly roundup help section</figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">The goal of this monthly newsletter is to let our customers and prospects know what we&#x27;ve been working on together with some quick tips and pointers on where they read more.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Throughout the website, there are a number of subscription forms, together with the trial sign-up those email addresses are going to our accounts contact database and labelled with the &#x27;newsletter&#x27; tag.</p><h1>#2 The changelog is powered by Prezly</h1><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Within Prezly we have a dedicated &#x27;changes&#x27; newsroom that is updated every time we change something worthwhile in the product. That content is then going to 3 places:</p><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Our website <a class="prezly-slate-link" href="https://www.prezly.com/changelog" target="_self">/changelog</a></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Within the app on /changelog (different UI, see screenshot)</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Reminder (small icon) there is something to read in the notification centre</span></li></ul><img src="https://cdn.uc.assets.prezly.com/0d341e5e-11f9-4bd6-a2b3-510fc27ce4b0/-/resize/1200/-/format/auto/image.png" alt="Image"/><figcaption>Prezly in-app changelog</figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">As we continuously change the app and make minor changes it&#x27;s important our staff and customers are informed about what&#x27;s new. </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"><em>Note</em>: this page is mainly accessed by power users that spend significant time in the app. Similar to how I&#x27;m personally reading everything the @linear team <a class="prezly-slate-link" href="https://linear.app/changelog" target="_self">posts in their changelog</a>.</p><h1>#3 Most parts of the website are powered by Prezly</h1><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">One of the goals was &#x27;drink our own champagne&#x27; (a better version of eat our own dog food). This is because it&#x27;s the only way we encourage Prezlians to use our own content editing tools (the editor).</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">How we did this might become a little technical so feel free to skip this part:</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">The website is nextjs powered by Contentful headless CMS. This allows us to build complex pages composed of different components and UI elements. Not something we do at Prezly.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">But we did want some content-heavy pages (/academy, /news, and /help) to be written/maintained from Prezly. That&#x27;s why we came up with a hybrid approach where we have 3 newsrooms in Prezly:</p><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">/academy → <a class="prezly-slate-link" href="https://www.prezly.com/academy" target="_self">www.prezly.com/academy</a></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">/help → <a class="prezly-slate-link" href="https://www.prezly.com/help" target="_self">www.prezly.com/help</a></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">/news → <a class="prezly-slate-link" href="https://www.prezly.com/news" target="_self">www.prezly.com/news</a></span></li></ul><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">These newsrooms hold all the content the make up this website and are pushed to contentful in their own content type (PrezlyStory and PrezlyCategory) on every update. Using the <a class="prezly-slate-link" href="https://github.com/prezly/content-renderer-react-js" target="_self">PrezlyContentRendererReact</a> we then turn these articles into beautiful pages like this example.</p><img src="https://cdn.uc.assets.prezly.com/0f6e6892-7e74-42a4-9b0d-5d5039bce499/-/resize/1200/-/format/auto/image.png" alt="Image"/><figcaption>Outdated flow diagram of syncing code from Prezly to contentful</figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">The advantage of this approach is that everyone in Prezly (customer success, marketing, product people, ...) needs to work with the Prezly editor/CMS at least a few times per week.</p><img src="https://cdn.uc.assets.prezly.com/260369a9-9de5-4eff-a81b-140175a49b8e/-/resize/1200/-/format/auto/image.png" alt="Image"/><figcaption>From left to right: academy, help section, /news</figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Additionally, we can use Prezly articles in newsletters, sales follow-up and pitches as they are all sent from Prezly too (see #4)</p><h1>#4 Sales follow-up and outreach</h1><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">We try to make sure that all stakeholders (Prezlians, family/friends, alumni, customers, prospects, partners) are all organised within the Prezly CRM. </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">This allows us to send updates all from the same platform. Because most of the content is already in Prezly (see #3) it&#x27;s super easy to build the content we need.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> Some examples:</p><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">after a sales demo, a customer asks to follow up with some specific articles about the product</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">preparing a customer review we notice they are using feature X or Y wrong</span></li></ul><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Here is a quick recording of what that flow looks like with everything being in the same system:</p><img src="https://cdn.uc.assets.prezly.com/ce6e33e0-5718-4e38-abb3-7a245957e1aa/-/format/auto/send_help.gif" alt="Image"/><figcaption>Using Prezly to follow-up with content</figcaption><h1>#5 Internal Communication - Heartbeat</h1><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">For any major team announcements, we use what we call &#x27;heartbeat&#x27;. It&#x27;s a secured newsroom (need to sign in with Google Auth) that has a timeline (the heartbeat) of everything that is important to know.</p><img src="https://cdn.uc.assets.prezly.com/3dd8632e-e05e-403c-bed0-0dc171af559e/-/resize/1200/-/format/auto/image.png" alt="Image"/><figcaption>Heartbeat - Current Homepage</figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Oftentimes we also set up an email campaign notifying people of that update and copy-paste the URL in Slack. </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">A nice addition we added to heartbeat is a way to comment/start a conversation (<a class="prezly-slate-link" href="https://www.discourse.org/" target="_self">in discourse</a>) around every post. That conversation is then embedded below the heartbeat story and available on discourse (slow/thoughtful conversation).</p><img src="https://cdn.uc.assets.prezly.com/50066783-f311-4771-8f1e-bff56d9584bd/-/resize/1200/-/format/auto/image.png" alt="Image"/><figcaption> </figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p><h1>#5 This blog</h1><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">This blog is powered by our own product. Although the frontend (NextJs, Vercel hosting) is entirely disconnected from the the CMS it is being used as a headless CMS.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">I&#x27;ve <a class="prezly-slate-link" href="https://www.lifelog.be/how-i-built-this-blog" target="_self">written about how I build this blog before.</a> (<a class="prezly-slate-link" href="https://www.lifelog.be/new-blog-theme" target="_blank" rel="noreferrer">Switched to a new theme later</a>). </p><hr class="prezly-slate-divider"/><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Those are the main ways we use Prezly at Prezly. As Peter mentioned, it would be great if other product people wrote a similar post about their own products. I&#x27;ll make sure to keep a list here:</p><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://www.reform.app/blog/dogfooding/" target="_self">How Reform uses Reform</a></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://www.lifelog.be/how-prezly-uses-prezly-to-run-prezly" target="_self">How Prezly uses Prezly</a></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://www.debugbear.com/blog/dogfooding" target="_self">How DebugBear uses DebugBear to run DebugBear</a></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://zipmessage.com/dogfooding-zipmessage" target="_self">How ZipMessage Uses ZipMessage to run ZipMessage</a></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://www.eduflow.com/blog/how-eduflow-uses-eduflow-to-run-eduflow" target="_self">How Eduflow uses Eduflow to run Eduflow</a></span></li></ul><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Thanks for reading along! 🙏 And kudos <a class="prezly-slate-link" href="https://twitter.com/petersuhm" target="_self">to Peter</a> for the great initiative!</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p></section></div>]]></description><link>undefined/how-prezly-uses-prezly-to-run-prezly</link><guid isPermaLink="true">undefined/how-prezly-uses-prezly-to-run-prezly</guid><pubDate>Wed, 26 Jan 2022 15:40:00 GMT</pubDate></item><item><title><![CDATA[Account Sharing and Free Coca-Cola Refills]]></title><description><![CDATA[<div class="ContentRenderer_renderer__tPJbs"><section class="prezly-slate-document" data-version="0.50"><h2> </h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">You know how you have one Netflix account shared within your immediate family, a few colleagues, that couple you met on holiday and your family physician? So, that&#x27;s called <strong>account sharing</strong>. We&#x27;ve all done it at one point or another, and by and large, most people see it as a victimless crime since the only ones put out by it are big, faceless corporations who make too much money and probably test their products on puppies or babies or something equally defenseless and small.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">The thing is, it&#x27;s been happening at Prezly in some form for about as long as Prezly has existed, and we haven&#x27;t tested anything on a puppy in years. Even so, the problem has never been huge.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">So why do we care now?</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Earlier this year, <a class="prezly-slate-link" href="https://www.prezly.com/news/now-you-can-start-using-prezly-for-less" target="_self">we changed our pricing model</a> to scrap the user minimum and instead price each subscription per user, with the option to pay more if you want extra features like additional newsrooms. This meant that our cheapest plan went from €240 to just €40 per month. It also meant that bootstrapped startups and one-person NGO teams could use the same tools as the biggest agencies and enterprise powerhouses. We counted that as a win 🎉</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">But even with subscriptions stripped back to about a third of what they had been, account sharing went up. People will always try to lower the price; it&#x27;s in our nature.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Why pay for three seats when you can get one and share the login?</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Honestly, we often look the other way if there are only a couple of people involved, or if the activity is limited. I get the feeling that many companies do the same. There&#x27;s no way the people at Netflix buy that the members of my household habitually travel between Leuven, Brussels, London, New York and the Hague.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">But even if the cost of lost subscriptions isn&#x27;t that high in the grand scheme of things – Prezly has been generating a healthy revenue for years and continues to do so – there are ​ other hits you will take by allowing account sharing to take place: it&#x27;s harder to give support, security issues, misuse of team resources, a drop in quality for all users, and a potential loss of trust.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Let&#x27;s use an example to illustrate what I mean.</p><h1><strong>Refill your soft drink</strong></h1><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Walk into any McDonald&#x27;s in the US or Canada and you can get a coca-cola with the promise of free refills for the duration of your meal.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">The concept is similar to <a class="prezly-slate-link" href="https://www.prezly.com/pricing" target="_self">the pricing model we have at Prezly</a>: you pay a set amount to use our software for the month or the year, and fill the CRM with as many contacts as you like, send out however many campaigns you need to, publish all the stories you want. Endless multimedia, unlimited comms, and support are always there when you need it.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">To ensure that everyone wins, it&#x27;s generally understood that some baseline rules go unspoken.</p><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">It&#x27;s ok to have a sip of your husband&#x27;s drink</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">We&#x27;ll close an eye if we see two students piggybacking on one soda to save a few $</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Minor abuse of the system is expected and factored into our numbers</span></li></ul><h2>To stretch <strong>the analogy</strong></h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">So at what point does it become too much?</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">What if it&#x27;s not a couple of friends that walk in, but a busload of tourists. They drive up to the McDonald&#x27;s, come in, take a seat – all two dozen of them – and order a single drink.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Maybe they wheel in their own barrel, surreptitiously plugging a tube into the bottom of their cup to siphon off the stream of coke until the machine&#x27;s sputtering. At which point they turn to the cashier and ask that they come to fix it, and fill it up again. So she does, while the queue of regulars stacks up, getting more and more impatient. A few walk out the door.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">The majority of people wouldn&#x27;t dream of walking into McDonald&#x27;s and doing something like that. Hell, they probably wouldn&#x27;t even pull that stunt in a Wendy&#x27;s. Online on the other hand? It&#x27;s all too easy.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Here are some anonymized stats on the account sharing we see every day:</p><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">10 customers (2%) with extreme account sharing activity sometimes clocking in more than 10 simultaneous sessions within the same hour (different browsers)</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Another 10% of customers showing mild account sharing activity (3-5 simultaneous sessions)</span></li></ul><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">It is hard to put that into revenue numbers as we know not all those customers are planning to upgrade their accounts to include a seat for every team member and it&#x27;s not factoring in volume discounts, but lets try</p><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><strong>5100euro/month. </strong><u>Extreme sharers</u> have an average of 6.8 simultaneous sessions which would total 68 seats. On average (throughout customer base) we&#x27;re charging about 75euro/month/seat.</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><strong>3000euro/month. </strong><u>Mild sharers</u><strong> </strong>are harder to estimate as those might be low usage seats (only used once every month). For the sake of the exercise let&#x27;s say that every mild sharing account will buy 1 extra seat (some will buy multiple, some will not)</span></li></ul><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">It&#x27;s easy to think of companies as greedy capitalists whose main ambition is to wring every cent from prospective customers. But there&#x27;s another level to it.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">For a relatively small business, particularly a bootstrapped one that cannot rely on any external investment, that missed revenue (100k/year) means we cannot hire additional developers to build out the 12345 features our existing clients have asked for. </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Perhaps more annoyingly, Prezly wasn&#x27;t intended for multiple people to use the same user account, so the practice messes up functions like conversation tracking with CRM contacts and the history of who published what story when, who sent out which pitches and campaigns, and so on – features that are absolutely core to the way Prezly functions.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">(Not to mention that it&#x27;s not exactly fair for the 88% of our clients who pay for our product according to their usage.)</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">So, clearly there&#x27;s a problem.</p><h2>So what are you going to do about it?</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Today there are about 100 people taking advantage of Prezly&#x27;s bottomless brunch system. For now, we&#x27;re approaching tackling this account sharing in tiers.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"><strong>Tier 1: The carrot 🥕</strong></p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Speak with the worst offenders, letting them know that we know they&#x27;re account sharing and informing them of the <a class="prezly-slate-link" href="https://www.prezly.com/help/getting-started/security--gdpr/account-sharing-among-teammates" target="_self">inherent risks and downsides</a> (that this is against our terms of service, that it messes up the history within their account, that it can compromise security).</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"><strong>Tier 2: The slightly inconveniencing carrot 🥕</strong></p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">If the polite nudging from tier 1 doesn&#x27;t work, we wait for our system to flag that there are too many people accessing an account simultaneously and we force a password reset. It&#x27;s easy for people to get around, but gives enough inconvenience to show that hey, we weren&#x27;t kidding about this &quot;breaking our terms of service&quot; thing. Please cut it out.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"><strong>Tier 3: The full-metal carrot 🥕</strong></p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">If those doing the account sharing continue to ignore our warnings and don&#x27;t respond to our emails to work something out in good stead, we put on our big-boy pants.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">As a last resort, we:</p><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Start resetting passwords every time we see too much simultaneous activity</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Suspend their account</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Force 2FA/SSO</span></li></ul><h2>Is it working?</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Honestly? Sort of. We had the carrot conversation with a few accounts and some of them made allowances by paying for additional seats or pinky-promising not to account share again. Others were less cooperative, so we&#x27;re in the process of making a go of the tier 2 response, which is proving a bit trickier than expected. I&#x27;ll update this post with the results once we have them.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">For now, I&#x27;ll reset my Netflix account and politely mention to my aunt, colleague, and the barista at my favourite coffee shop that it might be time they get their own.</p><hr class="prezly-slate-divider"/><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"><em>I&#x27;d love to hear your perspective on this. Have you dealt with this? Do you see it as a problem? Should we just let it go? Is this all a capitalist scheme to help us fill our swimming pool with coins? </em></p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"><a class="prezly-slate-link" href="https://www.reddit.com/r/SaaS/comments/pbaied/what_do_you_do_with_account_sharers_if_price_is/" target="_self">Asked a question on Reddit about the same topic</a><br/>​<a class="prezly-slate-link" href="https://www.linkedin.com/posts/gijsnelissen_account-sharing-and-free-coca-cola-refills-activity-6836579443495047168-NaQK" target="_self">Asked network on LinkedIn (a lot of customers in my connections) the same thing</a></p><p><a href="https://twitter.com/digitalbase/status/1430512725164167173">Gijs Nelissen on Twitter</a></p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p></section></div>]]></description><link>undefined/account-sharing-and-free-coca-cola-refills</link><guid isPermaLink="true">undefined/account-sharing-and-free-coca-cola-refills</guid><pubDate>Wed, 25 Aug 2021 12:34:00 GMT</pubDate></item><item><title><![CDATA[Swedish Summer 🇸🇪]]></title><description><![CDATA[<link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/3b0d9320-d63a-4117-986b-fb611b0322ea/-/resize/1200/-/format/auto/image.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/6fd9a5de-d490-4ddb-91ae-a6d1d8f02f53/-/resize/1200/-/format/auto/image.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/4e558071-0a75-48ab-abb8-0f93f6007a1c/-/resize/1200/-/format/auto/PXL_20210719_145709436.jpg"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/e64fea43-56f1-43fc-84a9-6e963dd82456/-/resize/1200/-/format/auto/image.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/932ff2e2-5f53-4192-9fba-844f3da2797d/-/resize/1200/-/format/auto/image.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/324bb5fe-096a-45b9-b175-00c10f4eb1e2/-/resize/1200/-/format/auto/PXL_20210723_064827963.MP.jpg"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/7ef5c944-c13d-40da-b4f6-2b837f4418bc/-/resize/1200/-/format/auto/image.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/6a2536c5-a75a-41ee-a24a-cd102bfc2ee7/-/resize/1200/-/format/auto/PXL_20210723_184807332.MP.jpg"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/878364a6-169d-439d-97a7-524096c58c34/-/resize/1200/-/format/auto/PXL_20210724_130148465.MP.jpg"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/410687a5-fbe3-423f-b250-e63c609e36ae/-/resize/1200/-/format/auto/image.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/209c55e7-1b5a-49d8-9e5f-0fb5d9929455/-/resize/1200/-/format/auto/image.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/378a645b-8509-4857-b921-8f317e6769d7/-/resize/1200/-/format/auto/PXL_20210726_171347541.jpg"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/e9345313-b8fd-423a-8ce4-ca8aa9a9d659/-/resize/1200/-/format/auto/image.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/a8b50c93-3d1a-4f32-84b0-71e93d23e82c/-/resize/1200/-/format/auto/PXL_20210727_143941262.MP.jpg"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/90c2c5ce-1035-4c22-862d-56a49b4a3f71/-/resize/1200/-/format/auto/WhatsApp%20Image%202021-07-27%20at%205.44.15%20PM.jpeg"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/bb668b8d-05a0-41cf-84fa-721d7ee297b3/-/resize/1200/-/format/auto/WhatsApp%20Image%202021-07-27%20at%205.57.18%20PM.jpeg"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/8ee63a74-8a77-4f36-b1a8-e59a42054a5e/-/resize/1200/-/format/auto/PXL_20210727_155039958.jpg"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/774bc86b-1106-4a12-ae92-40faf5232792/-/resize/1200/-/format/auto/PXL_20210731_161832341.jpg"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/cc274d8f-ab9d-4a0c-b82d-05afd026b31c/-/resize/1200/-/format/auto/image.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/20b3af10-179c-4cfa-ac98-739471e2e6a1/-/resize/1200/-/format/auto/PXL_20210804_095502428.MP.jpg"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/b4415885-ef37-47b5-935b-d8264e6412b0/-/resize/1200/-/format/auto/PXL_20210804_122720449.jpg"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/2c2c388c-a77c-4e5e-8ce2-08034186e32d/-/resize/1200/-/format/auto/PXL_20210804_122716041.jpg"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/d60efa08-bb7f-4e31-bb75-cbe35bc5b52c/-/resize/1200/-/format/auto/image.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/3ce0e3fb-e005-46d0-8aa7-9e0251e762fd/-/resize/1200/-/format/auto/PXL_20210804_171722129%20(1).jpg"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/25ddfbf2-577a-43cd-8855-282ac14c3e18/-/resize/1200/-/format/auto/PXL_20210806_184653094.jpg"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/2e829c6e-70c7-4e5b-a303-62ae7a51688b/-/resize/1200/-/format/auto/PXL_20210808_111122923.jpg"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/aad3e8fa-47af-4268-85f4-b5eb0c77bb49/-/resize/1200/-/format/auto/PXL_20210808_113637329.jpg"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/7b4f2dd3-4161-44fd-a9ad-0974ba7e4865/-/resize/1200/-/format/auto/PXL_20210808_111129791.jpg"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/91ecc18a-521d-4673-ab4c-89a298dfdf3e/-/resize/1200/-/format/auto/PXL_20210808_103454090.jpg"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/89b3c707-eea4-4c35-b833-aa98c8f01e76/-/resize/1200/-/format/auto/PXL_20210808_103213450.jpg"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/f57e3295-369a-4143-b76f-0705d14fccac/-/resize/1200/-/format/auto/PXL_20210808_113623928.jpg"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/2a4a544e-bc78-4221-a117-4520549dd4a9/-/resize/1200/-/format/auto/image.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/ef9d9f22-63a4-4797-99c0-0c4ace713a37/-/resize/1200/-/format/auto/PXL_20210809_165456976.jpg"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/be331a01-875d-43ad-a441-ebdb7d436ea8/-/resize/1200/-/format/auto/PXL_20210809_163200516.MP.jpg"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/d7499709-e3f0-477d-9425-b62bc730b8b2/-/resize/1200/-/format/auto/PXL_20210811_142120443.MP.jpg"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/2ef6e815-7cc7-4817-af9d-84b53713dea3/-/resize/1200/-/format/auto/PXL_20210811_110855252.MP.jpg"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/399ac298-67ff-4b50-b3fb-f8e96830923f/-/resize/1200/-/format/auto/PXL_20210811_132417860.MP.jpg"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/4df7b3c2-fe3b-4735-8bed-a117731a70f1/-/resize/1200/-/format/auto/PXL_20210811_105417368.jpg"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/8305f3bd-074c-488d-81df-a4c973c38c26/-/resize/1200/-/format/auto/PXL_20210811_104426652.jpg"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/f862096b-28c8-4f4e-a391-f83851e70522/-/resize/1200/-/format/auto/image.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/b9dadc52-c54f-4f64-bf5c-b3cecdc0db13/-/resize/1200/-/format/auto/PXL_20210815_152351285.jpg"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/790c83c6-6ed1-4bfb-9b40-ab7df233ad71/-/resize/1200/-/format/auto/PXL_20210816_063537834.jpg"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/86adb4a6-d1f0-4f17-9cf8-a17d12f00f38/-/resize/1200/-/format/auto/PXL_20210815_151105623.jpg"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/5cb93bac-401b-44e9-8e78-f01b9d3758b5/-/resize/1200/-/format/auto/PXL_20210815_161307689.jpg"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/3891eb80-b1dd-4d3f-8517-50dbebc0ee54/-/resize/1200/-/format/auto/image.png"/><div class="ContentRenderer_renderer__tPJbs"><section class="prezly-slate-document" data-version="0.50"><h2> </h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">This holiday we spent a month with the family in Sweden 🇸🇪. It was awesome. This is a quick write-up of note-worthy tips, the route of our trip and the experience travelling with a family of 5.</p><h2>Camper/Mobile Home</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">We were in a big mobile home (7.5 meters) that has a sleeping capacity of 6. With everyone sleeping inside it tends to get really crowded and it takes a while to transform the living area into the sleeping area. ​<br/>​<!-- -->​<br/>​<!-- -->The biggest disadvantage of sleeping inside is that the living room can not be used as soon as the kids go to bed (between 8 and 9). Considering that in some areas there are a lot of mosquitos once the sun goes down we figured we&#x27;d bring two 10-second tents to have 4 more sleeping places outside.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Other stuff I took to make the trip more noteworthy:</p><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Inflate-able canoe</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Sup board</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Four bikes</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Table + Chairs</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Skateboard (son)</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Step (daughter)</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Too many pumps</span></li></ul><img src="https://cdn.uc.assets.prezly.com/3b0d9320-d63a-4117-986b-fb611b0322ea/-/resize/1200/-/format/auto/image.png" alt="Image"/><figcaption>I think i&#x27;m doing something wrong. Bike (left), Mattrass, SUP board (right)</figcaption><h1>The trip</h1><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">We started the trip in Trelleborg and did a tour from the South to the East coast of Sweden all the way up to Stockholm (which is only about 1/3th of the country). Sweden is Huge!</p><h2>Week 1 - South Coast</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">We arrived on the ferry (from Rostock Germany) in Trelleborg. Since it was late, 22:30 when we got through border control, we drove to the closest camping which in hindsight was the most commercial and expensive camping we did in the entire holiday. </p><img src="https://cdn.uc.assets.prezly.com/6fd9a5de-d490-4ddb-91ae-a6d1d8f02f53/-/resize/1200/-/format/auto/image.png" alt="Image"/><figcaption> </figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">On the map, it looked great (South West corner of Sweden) but it was pretty much a full campsite with over 100 campers nicely parked between 4 lines. Icecreams and mini-golf at the reception 😱</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">In the morning I could not wait to get out of there and discover &#x27;real&#x27; Sweden. Based on weather forecasts we decided to do the East coast and drive our way up to Stockholm. </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Leaving the camping site our first stop Falsterbo beach. On our way there we passed Mikes pizza restaurant with a huge &#x27;Pizza World Champion&#x27; banner which did it for the kids. Bribed the kids with some variation of </p><blockquote class="prezly-slate-quote prezly-slate-quote--align-inherit"><em>We&#x27;ll go to the pizza place after you all play on the beach/in the water to </em>make sure you&#x27;re all hungry enough</blockquote><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">It worked 🍕</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">It was later afternoon when we left the Pizza place with destination Ystad. The sun was out a curly road that was right next to the ocean and trees/forest on the other side. A few km&#x27;s later our kids saw someone diving from a small jetty and asked me to pull over. </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">On the parking, we met a super nice German couple who were wrapping up their 3 week holiday and decided to stay. </p><img src="https://cdn.uc.assets.prezly.com/4e558071-0a75-48ab-abb8-0f93f6007a1c/-/resize/1200/-/format/auto/PXL_20210719_145709436.jpg" alt="Image"/><figcaption>Marcel setting up the table</figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">It was a super nice spot next to a small sand beach! The road was close (30 meters) but it didn&#x27;t bother us that much. First chance to take out the SUP-board and Canoo so decided to go all the way 💪🏻. Kids wanted to sleep in the tent, and after they were all down we spent a super nice evening with the neighbour couple that was travelling with a 6-month baby.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">After saying goodbye we were on our way to Ystad where we took off the bikes for a short tour and our first chance to do a Swedish Fika (tea/pastry) after which we took a long drive. With the evening approaching most of the spots on Park4night were taken and we had to keep driving to end up in Gislövhammar where there was a small green campsite with a great view over the sea. </p><img src="https://cdn.uc.assets.prezly.com/e64fea43-56f1-43fc-84a9-6e963dd82456/-/resize/1200/-/format/auto/image.png" alt="Image"/><figcaption>Drove 150km to end up on the East coast of Sweden</figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">The kids made friends, we met a lovely Belgian couple and their dog and decided to stay another day. The second day we went for a Belgian BBQ and invited another Dutch couple to join us (to finish the wine). </p><img src="https://cdn.uc.assets.prezly.com/932ff2e2-5f53-4192-9fba-844f3da2797d/-/resize/1200/-/format/auto/image.png" alt="Image"/><figcaption> </figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">In the 2 days on this campsite we also did:</p><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">A 12km run with Michel (fellow Belgian) who was training for a marathon</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Visited <a class="prezly-slate-link" href="https://nl.wikipedia.org/wiki/Ales_stenar" target="_self">Ales Stenar</a></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">First Swedish supermarket (no masks 😃)</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Played our first game of &#x27;Set&#x27; which we ended up buying a week later in Stockholm</span></li></ul><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">The next day we stayed in a small harbour in Hörviks Hamn. When we arrived all the paying/good spots were taken but I managed to find a spot that was not intended for camping. The spot turned out to be great. It was 5 meters from a small beach. </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">In the harbour, there was <a class="prezly-slate-link" href="http://kajutan.nu/" target="_self">this small restaurant</a> where we had our first restaurant visit so far. It was great (although the restaurant was understaffed and everything took so long). The kids were playing near the docks, we had the best riesling, the good was great and we could watch the sunset from our table. ♥️</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">The next morning I took Annelies on the SUP-board before we resumed the journey. Next stop: Karlskrona (or somewhere close).</p><img src="https://cdn.uc.assets.prezly.com/324bb5fe-096a-45b9-b175-00c10f4eb1e2/-/resize/1200/-/format/auto/PXL_20210723_064827963.MP.jpg" alt="Image"/><figcaption>Together on the water</figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">I got a tip from the German couple (day 2) that the islands near Carlkrona are super calm and worth a visit.</p><img src="https://cdn.uc.assets.prezly.com/7ef5c944-c13d-40da-b4f6-2b837f4418bc/-/resize/1200/-/format/auto/image.png" alt="Image"/><figcaption>So many islands</figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">On our way to the bookmarked spot, we passed some small camping sites one of which was <a class="prezly-slate-link" href="https://kustgardensenoren.se/" target="_self">Kustgården Senoren</a> which turned out to be an awesome camping site. Only 4-5 campers, a small private beach, trees all the way to the coastline and evening sun. That&#x27;s our spot!</p><img src="https://cdn.uc.assets.prezly.com/6a2536c5-a75a-41ee-a24a-cd102bfc2ee7/-/resize/1200/-/format/auto/PXL_20210723_184807332.MP.jpg" alt="Image"/><figcaption>View from the camper</figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">We stayed there for 3 days. The kids were enjoying themselves swimming to the island on the other side or spending time on the playing ground. On the 2nd day, we spent time in Karlskrona. I took off the bikes and we biked across the city visiting the submarine museum, the marina and the park. Beautiful day!</p><img src="https://cdn.uc.assets.prezly.com/878364a6-169d-439d-97a7-524096c58c34/-/resize/1200/-/format/auto/PXL_20210724_130148465.MP.jpg" alt="Image"/><h2>Week 2 - East Coast + Öland and Stockholm</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">We initially wanted to visit Gotland but the ferries were all booked. Some of the people we met warned us that Öland is super touristic and some of them were advising us to skip it. As it was raining that day and we wanted to drive over the bridge we decided to give it a go driving all the way up to the North of Oland.</p><img src="https://cdn.uc.assets.prezly.com/410687a5-fbe3-423f-b250-e63c609e36ae/-/resize/1200/-/format/auto/image.png" alt="Image"/><figcaption>Drive to Öland</figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">I didn&#x27;t like the harbour that much as there were too many campers, it was very windy and pretty much concrete everywhere you could see. Had some time to dry some of our laundry (the previous place had a washing machine) but didn&#x27;t trust the kids to just hang in the harbour because of the wind and the water.</p><img src="https://cdn.uc.assets.prezly.com/209c55e7-1b5a-49d8-9e5f-0fb5d9929455/-/resize/1200/-/format/auto/image.png" alt="Image"/><figcaption> </figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">We found a great restaurant in the harbour and enjoyed some seafood where I encouraged the kids to all try an Oyster (which they did. Didn&#x27;t like it).</p><img src="https://cdn.uc.assets.prezly.com/378a645b-8509-4857-b921-8f317e6769d7/-/resize/1200/-/format/auto/PXL_20210726_171347541.jpg" alt="Image"/><figcaption>Great evening with Sunset</figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">After the kids went to sleep I met a group of travelling swedes that invited me to have a few drinks. I brought Belgian beers. Stayed there until about 2 in the morning where they convinced me to try a few of their typical Swedish drinks: Rum/Coke, Sprite/Rum and Whiskey 🤕</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">The next day was rainy and we decided to drive to Vimmersby to visit the Astrid Lindgren (<a class="prezly-slate-link" href="https://nl.wikipedia.org/wiki/Astrid_Lindgren" target="_self">wikipedia</a>) museum. The inside of the museum was not that impressive (I get bored really fast) but the gardens were great!</p><img src="https://cdn.uc.assets.prezly.com/e9345313-b8fd-423a-8ce4-ca8aa9a9d659/-/resize/1200/-/format/auto/image.png" alt="Image"/><figcaption> </figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">I wanted to find a super isolated spot and try &#x27;real&#x27; free camping (preferably next to a lake). We drove around for a bit and were looking at google maps to find a small road that led to the water. Took about 45 minutes to find a great spot with no one around.</p><img src="https://cdn.uc.assets.prezly.com/a8b50c93-3d1a-4f32-84b0-71e93d23e82c/-/resize/1200/-/format/auto/PXL_20210727_143941262.MP.jpg" alt="Image"/><img src="https://cdn.uc.assets.prezly.com/90c2c5ce-1035-4c22-862d-56a49b4a3f71/-/resize/1200/-/format/auto/WhatsApp%20Image%202021-07-27%20at%205.44.15%20PM.jpeg" alt="Image"/><img src="https://cdn.uc.assets.prezly.com/bb668b8d-05a0-41cf-84fa-721d7ee297b3/-/resize/1200/-/format/auto/WhatsApp%20Image%202021-07-27%20at%205.57.18%20PM.jpeg" alt="Image"/><img src="https://cdn.uc.assets.prezly.com/8ee63a74-8a77-4f36-b1a8-e59a42054a5e/-/resize/1200/-/format/auto/PXL_20210727_155039958.jpg" alt="Image"/><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Stayed there for 1 night only and drove up to a super nice farm in Ydre. We were welcomed by a couple that, together with their 3 kids, moved to Sweden 1 year ago to start a small farm. There were able to buy a piece of land for in his words &#x27;less than a new Volkswagen transporter&#x27; 🤩</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Every night (stayed for 2 nights) we sat around the campfire and met other guests staying there or had some time to get to know the hosts and their stories. Awesome memories, hope I can be there someday and see what they did with the farm.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">In the morning it was pouring rain which made the host happy as it hadn&#x27;t really rained in about 3 months. Joked about Belgians taking the bad weather with us and left for Stockholm.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Because of the weather forecast, we decided to book a short stay somewhere close to Stockholm to visit the city. We found a great spot on Airbnb next to a river with our own private jetty. The house had a separate lake house with 2 extra beds, a Sauna (which turned out was not working) and a great kitchen. A nice feeling after spending 10 days in a 2x6 camper van 😀</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Enjoyed spending some time in Stockholm and were able to meet <a class="prezly-slate-link" href="http://www.frederikvincx.com/" target="_self">Frederik</a>&#x27;s family (and baby). My kids were so happy to see Frederik again (we worked together quite intensively a few years ago starting Prezly). We made some great memories!</p><img src="https://cdn.uc.assets.prezly.com/774bc86b-1106-4a12-ae92-40faf5232792/-/resize/1200/-/format/auto/PXL_20210731_161832341.jpg" alt="Image"/><figcaption> </figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">The day after we spent a day in the city Center of Stockholm, gave the mobile home a good clean and started planning the rest of the trip as it was time to see the rest of Sweden.</p><img src="https://cdn.uc.assets.prezly.com/cc274d8f-ab9d-4a0c-b82d-05afd026b31c/-/resize/1200/-/format/auto/image.png" alt="Image"/><figcaption>The next morning I wake up with this view from the bedroom. </figcaption><h2>Week 3 - The lakes</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">We wanted to spend more time around the big lakes and drove to Västerås (pronounced Westeros like GoT). </p><img src="https://cdn.uc.assets.prezly.com/20b3af10-179c-4cfa-ac98-739471e2e6a1/-/resize/1200/-/format/auto/PXL_20210804_095502428.MP.jpg" alt="Image"/><figcaption>Easy drive to Västerås</figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">We found a nice spot on an almost empty grass field next to <a class="prezly-slate-link" href="https://westerqwarn.se/" target="_self">a bar/restaurant</a> which was built over a small river. There was a mini-golf terrain, almost no tourists and a nice pizza place which made us stay for a day longer.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">The kids wanted to swim and I promised them to do a big tour on the river with the sup board. Inflating the board is a real workout as it needs 1.5 bar to work well but it was totally worth it! We spent a few hours on the water making sure the kids were tired enough for a smooth bed routine 😴</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">The next day we drove to Örebro to visit the Stadspark which was advertised as one of the most beautiful parks in Sweden. While the kids were playing in the playing ground had some time to walk through the park and found this beautiful walnut tree.</p><img src="https://cdn.uc.assets.prezly.com/b4415885-ef37-47b5-935b-d8264e6412b0/-/resize/1200/-/format/auto/PXL_20210804_122720449.jpg" alt="Image"/><img src="https://cdn.uc.assets.prezly.com/2c2c388c-a77c-4e5e-8ce2-08034186e32d/-/resize/1200/-/format/auto/PXL_20210804_122716041.jpg" alt="Image"/><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">After the kids were tired of the playing ground I told them they&#x27;d get ice cream if they could guess which tree in the park is on my top-5 of the most beautiful trees I&#x27;ve ever seen. They guessed it quite easily 🍦</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">We left the city park and drove all the way up to Värern which is the biggest lake in Sweden and one of the largest lakes in Europe. It&#x27;s beautiful.</p><img src="https://cdn.uc.assets.prezly.com/d60efa08-bb7f-4e31-bb75-cbe35bc5b52c/-/resize/1200/-/format/auto/image.png" alt="Image"/><figcaption> </figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Found a camping spot right on the east side of the lake. Sun was out, no clouds at all so time to set everything up and take a swim. The water was super clean and we stayed in much longer than planned. After dinner, I told the kids to go and find some wood to make a campfire. We had bought marshmallows a little earlier and allowed the kids to get sugared up right before they went to sleep 😫</p><img src="https://cdn.uc.assets.prezly.com/3ce0e3fb-e005-46d0-8aa7-9e0251e762fd/-/resize/1200/-/format/auto/PXL_20210804_171722129%20(1).jpg" alt="Image"/><figcaption>Dinner in the sunlight</figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Annelies wanted to go more North to see real Sweden so we left early the next day driving ​ North and closer to the border of Norway. Most of the campsites were full and there were noticeable fewer spots on park4night. We landed in Årjängs Hembygdsgård, a small camping site next to a lake. </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">The best thing about this spot was a nearby coffee bar/restaurant/hotel that had an awesome backside terrace with a view over the lake. We went in for a quick coffee and spent almost 3 hours. We started talking to the staff, met a fellow Belgian couple while the kids were playing inside. The place was so awesome that we had to get a table for dinner the same evening. One of the best meals/experiences we have had in Sweden so far! Even with the limited menu choice (we did not have a choice) the food was great, the staff super helpful and the view was stunning.</p><img src="https://cdn.uc.assets.prezly.com/25ddfbf2-577a-43cd-8855-282ac14c3e18/-/resize/1200/-/format/auto/PXL_20210806_184653094.jpg" alt="Image"/><figcaption>Kids finishing their chocolate dessert - Sunset</figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">We wanted to get back to the lakes so drove all the way down to Upperud where we found a horse farm that rented out Canoes. Because it was raining all evening we went to bed early and kept everyone inside (no tents). In the morning we prepared lunch, double-coated the kids with sunscreen and put on the lifejackets. Canoe trip!</p><img src="https://cdn.uc.assets.prezly.com/2e829c6e-70c7-4e5b-a303-62ae7a51688b/-/resize/1200/-/format/auto/PXL_20210808_111122923.jpg" alt="Image"/><img src="https://cdn.uc.assets.prezly.com/aad3e8fa-47af-4268-85f4-b5eb0c77bb49/-/resize/1200/-/format/auto/PXL_20210808_113637329.jpg" alt="Image"/><img src="https://cdn.uc.assets.prezly.com/7b4f2dd3-4161-44fd-a9ad-0974ba7e4865/-/resize/1200/-/format/auto/PXL_20210808_111129791.jpg" alt="Image"/><img src="https://cdn.uc.assets.prezly.com/91ecc18a-521d-4673-ab4c-89a298dfdf3e/-/resize/1200/-/format/auto/PXL_20210808_103454090.jpg" alt="Image"/><img src="https://cdn.uc.assets.prezly.com/89b3c707-eea4-4c35-b833-aa98c8f01e76/-/resize/1200/-/format/auto/PXL_20210808_103213450.jpg" alt="Image"/><img src="https://cdn.uc.assets.prezly.com/f57e3295-369a-4143-b76f-0705d14fccac/-/resize/1200/-/format/auto/PXL_20210808_113623928.jpg" alt="Image"/><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">This turned out to be awesome! From the farm, we had to follow a small creek for about 1 kilometre to get to a side lake of Värern. Choices for Canoes were limited so we got two single Canoes and a double one. I took Marcel and Lucie in the double one where our youngest sat on my lap. This was quite a workout and outside of the kids complaining (I&#x27;m tired! I&#x27;m hungry! My arms!) it was by far the most exciting thing we did so far.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">We spent about 4 hours on the water and got back to the camper about 30 minutes before a big thunderstorm. Packed up the tents and decided to drive through the bad weather on our way to the bottom of the lakes. We arrived in Kedumstorp later that evening. Everyone was tired after the boat ride and road trip so we took out a pizza and stayed over in what in retrospect was the worst spot of the holiday (which was still a 6/10). We left at 9:30 to drive to Hjo.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">In Hjo I did not want to camp in the commercial campsites or harbour so looked for a spot close by so we could visit the city by bike. Found an awesome spot close to a small lake west of Hjo.</p><img src="https://cdn.uc.assets.prezly.com/2a4a544e-bc78-4221-a117-4520549dd4a9/-/resize/1200/-/format/auto/image.png" alt="Image"/><figcaption> </figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Outside of the flies (there was a public toilet that desperately needed taking care off), it was a great spot! </p><img src="https://cdn.uc.assets.prezly.com/ef9d9f22-63a4-4797-99c0-0c4ace713a37/-/resize/1200/-/format/auto/PXL_20210809_165456976.jpg" alt="Image"/><figcaption>Our camper, tent. And the small hut with toilet</figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">We ended up staying for 2 days with mini bike trips to Hjo city centre where we had the best ice cream. The sunsets on this spot were awesome and the water was only 50cm deep for the first part of the lake. This allowed the kids to play in the water until it was time to sleep or food.</p><img src="https://cdn.uc.assets.prezly.com/be331a01-875d-43ad-a441-ebdb7d436ea8/-/resize/1200/-/format/auto/PXL_20210809_163200516.MP.jpg" alt="Image"/><figcaption>Lucie &amp; Marcel playing late</figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Because the water in the lake was a little smelly we needed to wash ourselves every time we came out. We figured out we could do outside showers opening the camper side window and pulling out the showerhead.</p><h2>Week 4 - West Coast</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">All the books about Sweden talked about the west coast being so beautiful. The Swedish people we met during the holiday told us that it&#x27;s the side of Sweden the Norwegians took over</p><blockquote class="prezly-slate-quote prezly-slate-quote--align-inherit"> <em>They like to come over with their big boats, expensive cards and you know, they just take over...</em></blockquote><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">So we had mixed feelings about exploring the west coast. We drove up all the way to the Norwegian border where we stayed on a small farm (with 2 horses). Upon arrival, we were hesitant to stay the night but the owner convinced us</p><blockquote class="prezly-slate-quote prezly-slate-quote--align-inherit"><em>Yesterday a moose came down that hill and were grazing the field here. The German couple that stayed here saw it around 6 in the morning. We also have t</em><a class="prezly-slate-link" href="https://www.youtube.com/watch?v=xZ99q5RpfDA" target="_self"><em>he white moose</em></a><em> here.</em></blockquote><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">When we left for Sweden we said it would be great to see a wild moose and now we had the opportunity to do so. We set up the camper and tents and called it a night early. I had set my alarm clock to get up around 5 in the morning to start spotting. Nothing :-(</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">As we were close to the Norwegian border we decided to drive up there to see the Älgafallet waterfall and the old border bridge (t<a class="prezly-slate-link" href="https://en.wikipedia.org/wiki/Svinesund_Bridge" target="_self">he old Svinesund Bridge</a>). After that, we drove up to Strömstad where we had some time to go swimming and found a nice small tapas restaurant. The perfect day ❤️</p><img src="https://cdn.uc.assets.prezly.com/d7499709-e3f0-477d-9425-b62bc730b8b2/-/resize/1200/-/format/auto/PXL_20210811_142120443.MP.jpg" alt="Image"/><img src="https://cdn.uc.assets.prezly.com/2ef6e815-7cc7-4817-af9d-84b53713dea3/-/resize/1200/-/format/auto/PXL_20210811_110855252.MP.jpg" alt="Image"/><img src="https://cdn.uc.assets.prezly.com/399ac298-67ff-4b50-b3fb-f8e96830923f/-/resize/1200/-/format/auto/PXL_20210811_132417860.MP.jpg" alt="Image"/><img src="https://cdn.uc.assets.prezly.com/4df7b3c2-fe3b-4735-8bed-a117731a70f1/-/resize/1200/-/format/auto/PXL_20210811_105417368.jpg" alt="Image"/><img src="https://cdn.uc.assets.prezly.com/8305f3bd-074c-488d-81df-a4c973c38c26/-/resize/1200/-/format/auto/PXL_20210811_104426652.jpg" alt="Image"/><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">I did tell Robbert about my morning activity and the white moose and he wanted to double down. </p><blockquote class="prezly-slate-quote prezly-slate-quote--align-inherit">Dad, if you wake me up I will do the deer watch with you. Maybe Mom can help too...</blockquote><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">To maximise our chances we started to search for tips 🤓such as at what time of the day are Moose most active? Do they come in groups or by themselves? I decided to talk to the owner once more to get some more pointers.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Although I was tired of last time, and not too confident we&#x27;d have a chance spotting some we agreed to a new schedule for the next morning. </p><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><strong>Gijs</strong>: I took 3:30 -&gt; 5:00</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><strong>Robbert</strong>: 5:00 -&gt; 6:00</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><strong>Annelies</strong>: 6:00 -&gt; 7:00</span></li></ul><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Crickets 🦗🦗🦗...We were all pretty disappointed not spotting anything significant (2 Crain birds and a small deer) we figured it was time to move on and also prepare the way back to Belgium (ferry vs bridge, driving at night or not...).</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">I found <a class="prezly-slate-link" href="https://www.ostroofarfarm.com/" target="_self">a great sheep farm in Ostroo</a> that had some room to park up to 8 campers. As it was a beautiful day we drove down and decided not to visit Goteburg. I don&#x27;t know what it was but after our Stockholm visit, we didn&#x27;t feel like getting back to a city. </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Right about when we arrived and set up the tents it started raining while the sun was shining so we had to go hide inside. </p><img src="https://cdn.uc.assets.prezly.com/f862096b-28c8-4f4e-a391-f83851e70522/-/resize/1200/-/format/auto/image.png" alt="Image"/><figcaption> </figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">We put the kids to bed on time (a long day) and I found a small window to take a short run. I got lost and didn&#x27;t want to take my phone so the run took way longer than expected. I think I ran around 15km and arrived around 11:00 where everything was pitch dark.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Annelies and I thought it was a good moment to start preparing for the way back to Belgium and spent a nice evening with candles to finalise the plan for the remainder of the holiday. It was a great opportunity to open a good bottle of Whisky I brought from Belgium which we ended up drinking a little too much off 🤕</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">The plan:</p><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Go back by car (no ferry)</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Two more days in Sweden</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Visit Helsingborg and Malmo</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Book a hotel for the final night(s). That way everyone could have a good night of sleep, an extensive breakfast before driving all the way back</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Try the drive back in one day (Corona rules for people transitting Germany)</span></li></ul><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">In the morning the Sheep farm turned out to be much more awesome than we&#x27;d imagined. There was a small breakfast/lunch shop, a mini-beach to swim, you could take a tour around the farm (over 1000 sheep) and they allowed the kids to touch some of the sheep.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">As we had a dinner date with my colleague in Helsingborg we had to leave for about a 1-hour drive. Annelies did all the driving where I had a chance to look for Corona rules with regards to passing through Denmark and Germany and had to find a place to stay.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">The West coast of Sweden has much fewer spots to spend the night with a camper. I discovered that some of the regions also have a no-free parking rule (in contradiction with the rest of Sweden). As we agreed to go for dinner in the city centre, and we wanted to put the kids asleep at somewhat of a decent hour (Marcel is 6 yrs old), I was looking for something we could walk/taxi to from the restaurant. No success :-(</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Looking at the different options I found an affordable hotel with one family room available right outside of Helsingborg and the taxi ride to the restaurant was about 25 euros. Turned out the room was really just 4 beds but luckily we had a mattress and sleeping bar in the camper. After taking a quick shower (showering 3 kids is never quick) we said hello to this great taxi driver and went to the hotel.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">It was my first time meeting Brenna (my colleague) and turned out to be a wonderful night! The kids enjoyed the company of Brenna and her partner, we had great food, good laughs and some time left to explore the city centre and harbour. Robbert and Brenna had a great (Pokemon) connection. Great success!</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">As a cherry on the cake (and according to the plan we made 2 days earlier) we wanted to surprise the kids with a hotel with a swimming pool or sauna and Annelies and I were secretly hoping we could have a rooftop/skybar experience after the kids went to bed.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">So I booked two rooms in the Clarion Malmo Hotel which turned out to be great. We had two adjacent rooms on the 16th floor with an awesome view. Because the sun was out we figured out would be best to explore the city while finding something to eat for the kids (we were planning to have a tete-a-tete in the hotel skybar).</p><img src="https://cdn.uc.assets.prezly.com/b9dadc52-c54f-4f64-bf5c-b3cecdc0db13/-/resize/1200/-/format/auto/PXL_20210815_152351285.jpg" alt="Image"/><img src="https://cdn.uc.assets.prezly.com/790c83c6-6ed1-4bfb-9b40-ab7df233ad71/-/resize/1200/-/format/auto/PXL_20210816_063537834.jpg" alt="Image"/><img src="https://cdn.uc.assets.prezly.com/86adb4a6-d1f0-4f17-9cf8-a17d12f00f38/-/resize/1200/-/format/auto/PXL_20210815_151105623.jpg" alt="Image"/><img src="https://cdn.uc.assets.prezly.com/5cb93bac-401b-44e9-8e78-f01b9d3758b5/-/resize/1200/-/format/auto/PXL_20210815_161307689.jpg" alt="Image"/><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Exploring the city we had cocktails on a terras, took a ride in the ferry wheel, found a great restaurant for the kids, practised our Voi scooter skills and danced to a DJ in the hotel that was wrapping up the LGBTQ+ conference in the lobby of the hotel. </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">We managed to get the kids to sleep at 20:30 for the long ride tomorrow, and after I made sure they were really sleeping, shared instructions with Robbert on how to reach us and the reception I went up to the Skybar where Annelies was waiting for me.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">It was the perfect wrap-up of a one month stay in Sweden. Perfect (and frigging expensive) cocktails, good food and a <a class="prezly-slate-link" href="https://www.google.com/search?q=clarion+hotel+malmo+skybar&amp;hl=nl&amp;sxsrf=ALeKk01eLtB9aO7S3T8XjHXCVMw8IL0kYA:1629891669893&amp;source=lnms&amp;tbm=isch&amp;sa=X&amp;ved=2ahUKEwjv9YXQi8zyAhXS5KQKHfsNAe0Q_AUoAXoECAIQAw&amp;biw=1440&amp;bih=798" target="_self">wonderful view over Malmo</a> from the 25th floor.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Sweden, we will be back!</p><img src="https://cdn.uc.assets.prezly.com/3891eb80-b1dd-4d3f-8517-50dbebc0ee54/-/resize/1200/-/format/auto/image.png" alt="Image"/><figcaption>Total trip was about 500km. These are the hotspots</figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p></section></div>]]></description><link>undefined/swedish-summer</link><guid isPermaLink="true">undefined/swedish-summer</guid><pubDate>Tue, 10 Aug 2021 14:22:00 GMT</pubDate></item><item><title><![CDATA[The cost to run a SaaS (with a few million $ ARR)]]></title><description><![CDATA[<div class="ContentRenderer_renderer__tPJbs"><section class="prezly-slate-document" data-version="0.50"><h2> </h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Inspired by <a class="prezly-slate-link" href="https://www.reddit.com/r/SaaS/comments/o19xcj/the_cost_to_run_my_saas/" target="_self">a great post on reddit</a> i took some time to go through the costs of running Prezly. Initially, I figured it would be a great read but at the same time, it&#x27;s a useful exercise for me to see if there are any services we can get rid of or downgrade.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Just to give you an idea of scale Prezly is a 18 person SaaS product. Fully bootstrapped (no outside capital) and serving about 500 customers globally.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"><em>Note: if you have questions/comments about this overview. Feel free to </em><a class="prezly-slate-link" href="https://www.reddit.com/r/SaaS/comments/o1x0yk/the_cost_to_run_a_saas_platform_with_a_few/" target="_self"><em>drop a comment in this reddit thread</em></a><em>.</em></p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">The summary:</p><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://www.lifelog.be/the-cost-to-run-a-saas-with-a-few-million--arr#server-stuff-9625month" target="_self">Server Stuff</a> - <strong>9625€/month</strong></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://www.lifelog.be/the-cost-to-run-a-saas-with-a-few-million--arr#developmentcidevops-1370month" target="_self">Development/CI/Devops</a> - <strong>1370€/month</strong></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://www.lifelog.be/the-cost-to-run-a-saas-with-a-few-million--arr#marketing-4890month" target="_self">Marketing</a> - <strong>4890€/month</strong></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://www.lifelog.be/the-cost-to-run-a-saas-with-a-few-million--arr#customer-success-2881month" target="_self">Customer Success</a> - <strong>2881€/month</strong></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://www.lifelog.be/the-cost-to-run-a-saas-with-a-few-million--arr#all-company-tools-2382month" target="_self">All Company Tools</a> - <strong>2382€/month</strong></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://www.lifelog.be/the-cost-to-run-a-saas-with-a-few-million--arr#adminfinanceteam-1303month" target="_self">Admin/Finance/Team</a> - <strong>1303€/month</strong></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><strong>Total = 22451€/month</strong></span></li></ul><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">If you break that down by the number of staff we&#x27;re looking at a cost of 1250<strong>€/month </strong>but this includes the server cost. Excluding server costs the tooling per staff member (excluding hardware) is around <strong>712</strong> <strong>€/month</strong></p><h2>Server Stuff - 9625€/month</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">We&#x27;re a software company so obviously, this is the main cost (outside of salaries). These are the minimal infrastructure we need to run the app.</p><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://aws.amazon.com/" target="_self">Amazon Web Services</a> - Infrastructure - <strong>4000 €</strong></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://sendgrid.com/" target="_self">Sendgrid</a> - Sending all email campaign - <strong>1300 €</strong></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://uploadcare.com/" target="_self">Uploadcare</a> - Upload/CDN for all assets (docs, images, files) - <strong>1300 €</strong></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://www.algolia.com/" target="_self">Algolia</a> - Search (in-app and on newsrooms) - <strong>900 €</strong></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://www.sqreen.com/" target="_self">Sqreen</a> - Application Security - <strong>650 €</strong></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://www.nylas.com/platform/connectivity" target="_self">Nylas</a> - Mail synchronisation for a mailbox feature - <strong>800 €</strong></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://www.section.io/cdn-edge-compute-platform/" target="_self">Section.io</a> - Global CDN (for newsrooms) -<strong> 450 €</strong></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://restpack.io/screenshot" target="_self">Restpack</a><a class="prezly-slate-link" href="https://restpack.io/screenshot" target="_self">.io</a> - Screenshots - <strong>90 €</strong></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://iframely.com/" target="_self">Iframely</a> - Embed social posts/videos in newsrooms - <strong>90 €</strong></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://zerossl.com/" target="_self">Zero SSL</a> - Certificates for customer newsrooms - <strong>45 €</strong></span></li></ul><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Without any of those tools customers would start complaining. Only AWS, Sendgrid, Uploadcare and Algolia are mission-critical. We have workarounds/failovers for all other services.</p><h2>Development/Product/Devops - 1370€/month</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">All the tools we use to do or work, collaborate and deploy. Canceling all those services would likely not break Prezly but make our work a lot more painful :-)</p><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://github.com/" target="_self"><u>Github</u></a> - Version Control - <strong>360 €</strong></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://sentry.io/welcome/" target="_self"><u>Sentry.io</u></a> - Report on bugs throughout all apps - <strong>240 €</strong></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://www.atlassian.com/software/opsgenie" target="_self"><u>Opsgenie</u></a> - On-call alerts in case there is a problem - <strong>130 €</strong></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://glockapps.com/" target="_self"><u>Glock Apps</u></a> - Monitoring Email Reputation and Deliverability - <strong>170 €</strong></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://www.productboard.com/" target="_self"><u>Product Board</u></a> - Customer Feedback Management + Roadmapping - <strong>120 €</strong></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://www.figma.com/" target="_self"><u>Figma</u></a> - Collaborative Design - <strong>120 €</strong></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://stoplight.io/" target="_self"><u>Stoplight.io</u></a> - Document our API - <strong>95 €</strong></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://www.namecheap.com/" target="_self"><u>Namecheap</u></a> - Domain Names - <strong>45 €</strong></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://pritunl.com/" target="_self"><u>Pritunl</u></a> - VPN linked to our Google accounts - <strong>45 €</strong></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://www.pingdom.com/" target="_self"><u>Pingdom</u></a> - Performance and Availability Monitoring - <strong>45 €</strong></span></li></ul><h2>Marketing - 4890€/month</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">We don&#x27;t have a sales team so adding up marketing/sales costs in one item</p><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Paid - Directories + SEM + paid Social - <strong>1900 €</strong></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://www.contentful.com/" target="_self">Contentful</a> - Headless CMS to power the website - <strong>500 €</strong></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://www.segment.com" target="_self">Segment</a> - Event Tracking - <strong>850 €</strong></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://www.vercel.com/" target="_self">Vercel</a> - Hosting of website + various small projects/functions - <strong>250 €</strong></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://ahrefs.com/" target="_self">Ahrefs</a> - SEO tool, Site audit and Keyword Analysis - <strong>200 €</strong></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://www.wistia.com/" target="_self">Wistia</a> - Video hosting + Soapbox - 2<strong>00 €</strong></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://ahrefs.com/api/subscription" target="_self">Ahrefs API</a> - API to access data through API for experiments mostly - <strong>600 €</strong></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="http://business.linkedin.com/salesnavigator" target="_self">Linkedin</a> - Sales Navigator - <strong>90 €</strong></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://www.adobe.com/" target="_self">Adobe</a> - Premiere + Aftereffects License - <strong>90 €</strong></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://calibreapp.com/" target="_self">CalibreApp</a> - Continuous Lighthouse Checks (performance and accessibility) - <strong>135 €</strong></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://www.grammarly.com/" target="_self">Grammarly</a> - Spell Checking - <strong>40 €</strong></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://restream.io/" target="_self">Restream.io</a> - Video Conference Streaming <strong>35 €</strong></span></li></ul><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">To be fair the paid cost is something that is unpredictable and much depending on how confident and aggressive we want to be on customer acquisition. There have been months where we are spending north of 50k in a single month.</p><h2>Customer Success - 2881€/month</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">We don&#x27;t have a sales team so adding up marketing/sales costs in one item</p><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://www.intercom.com/" target="_self">Intercom</a> - Customer Support Chat - <strong>770 €</strong></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://vitally.io/" target="_self">Vitally.io</a> - Support Team Operations - <strong>550 €</strong></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://www.fullstory.com/" target="_self">Fullstory</a> - Usage/Screen recording - <strong>420 €</strong></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://www.streak.com/" target="_self">Streak</a> - Customer Relationship Management (CRM) - <strong>300 €</strong></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://www.customer.io" target="_self">Customer.io</a> - Newsletters, Transactional Emails and Various automation - <strong>250 €</strong></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://aircall.io/" target="_self">Aircall.io</a> - Phone numbers + Calling - <strong>170 €</strong></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://www.browserstack.com/" target="_self">BrowserStack</a> - Cross Browser Testing - ​ <strong>120 €</strong></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://www.litmus.com/" target="_self">Litmus</a> - Testing Email Rendering - <strong>90 €</strong></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://calendly.com/" target="_self">Calendly</a> - Appointment Software - <strong>80 €</strong></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://www.hubspot.com/" target="_self">Hubspot</a> - Previous Customer Relationship Management (CRM) - <strong>46 €</strong></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://chatlio.com/" target="_self">Chatlio</a> - Chat with website visitors - <strong>45 €</strong></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://www.typeform.com/" target="_self">Typeform</a> - Surveying Software - <strong>40 €</strong></span></li></ul><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Intercom is expensive because we have a &#x27;client day&#x27; system where everyone in the company (all 17 of us) take on customer support for one day per week.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">I&#x27;ve been complaining about this before and have managed to bring down the cost by disabling some options and keeping intercom for chat support only.</p><p><a href="https://twitter.com/digitalbase/status/1324461575483379712">Gijs Nelissen on Twitter</a></p><h2>All Company Tools - 2382€/month</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">We don&#x27;t have a sales team so adding up marketing/sales costs in one item</p><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://www.zoom.com/" target="_self"><u>Zoom</u></a> - Video Conferencing - <strong>550 €</strong></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://www.mixpanel.com/" target="_self"><u>Mixpanel</u></a> - Product/Marketing Analytics - <strong>550 €</strong></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://workspace.google.com/intl/nl/" target="_self"><u>Google Workspace</u></a> - Google Mail/Calendar - <strong>300 €</strong></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://www.notion.so/" target="_self"><u>Notion.so</u></a> - Internal Knowledge Base - <strong>300 €</strong></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://linear.app/" target="_self"><u>Linear.app</u></a> - Project Management Tool - <strong>170 €</strong></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://www.slack.com/" target="_self"><u>Slack</u></a> - Internal Chat - <strong>140 €</strong></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://www.1password.com/" target="_self"><u>1Password</u></a> - Password Management - <strong>90 €</strong></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://www.discourse.org/" target="_self"><u>Discourse</u></a> - Long-form content and discussion board - <strong>180 €</strong></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://www.airtable.com/" target="_self"><u>Airtable</u></a> - Better kind of spreadsheet. Used as a database for some internal apps - <strong>62 €</strong></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://opencollective.com/" target="_self"><u>Open Collective</u></a> - Sponsoring some open-source projects - <strong>40 €</strong></span></li></ul><h2>Admin/Finance/Team - 1303€/month</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">We don&#x27;t have a sales team so adding up marketing/sales costs in one item</p><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://www.stripe.com" target="_self">Stripe</a> - Customer Billing &amp; Subscription Management - <strong>1100 €</strong></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://recruitee.com/" target="_self">Recruitee</a> - Job Site, Application Flow and Candidate Management - <strong>80 €</strong></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://www.xero.com" target="_self">Xero</a> - Invoicing - <strong>80 €</strong></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://dext.com/eu" target="_self">ReceiptBank</a> - Now Dext. Manage missing Receipts + OCR - <strong>25 €</strong></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://timetastic.co.uk/" target="_self">Timetastic</a> - Team Availability &amp; Holidays - <strong>18 €</strong></span></li></ul><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">--</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">I posted <a class="prezly-slate-link" href="https://www.reddit.com/r/SaaS/comments/o1x0yk/the_cost_to_run_a_saas_platform_with_a_few/" target="_self">this post on Reddit</a> and it took off 🚀. I answered a lot of questions in the reddit thread such as:</p><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Best/Worst ROI tools? (very opinionated)</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Why not run Sendgrid ourselves on our own mail server?</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Should you not be spending more on marketing?</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Which tools do you use for product measurement/reporting?</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Detailed breakdown of AWS bill</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Breakdown of our Stripe subscription</span></li></ul><p><a href="https://twitter.com/chddaniel/status/1405851436315992067">🚀 Ch Daniel on Twitter</a></p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p></section></div>]]></description><link>undefined/the-cost-to-run-a-saas-with-a-few-million--arr</link><guid isPermaLink="true">undefined/the-cost-to-run-a-saas-with-a-few-million--arr</guid><pubDate>Thu, 17 Jun 2021 13:10:00 GMT</pubDate></item><item><title><![CDATA[The Prezly homepage from 2010 to today]]></title><description><![CDATA[<link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/bdab4427-2b40-4b89-873a-8dc362503b8f/-/resize/1200/-/format/auto/image.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/e1210e87-f34e-46e6-b0eb-f58251ffaa38/-/resize/1200/-/format/auto/image.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/eb790891-1539-45c4-ba03-f2da523c34d5/-/resize/1200/-/format/auto/screencapture-web-archive-org-web-20121016162648-http-www-prezly-com-2021-06-07-14_30_33.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/fdd78e45-b548-4a54-858a-89e12118920c/-/resize/1200/-/format/auto/screencapture-web-archive-org-web-20130430063243-http-www-prezly-com-2021-06-07-14_33_28.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/166882f7-ed89-474e-bcee-caaead9bc236/-/resize/1200/-/format/auto/screencapture-web-archive-org-web-20141218045337-http-www-prezly-com-2021-06-07-14_36_56.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/bc472ea7-4188-4d99-9b98-634a9844e62a/-/resize/1200/-/format/auto/screencapture-web-archive-org-web-20150821165859-https-www-prezly-com-2021-06-07-14_38_34.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/6795f3e4-4319-44d3-a88e-1ae67dfbe91d/-/resize/1200/-/format/auto/screencapture-web-archive-org-web-20160322220125-https-www-prezly-com-2021-06-07-14_40_41.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/6d1539b6-84f7-45fa-9f18-52a98d71d5e6/-/resize/1200/-/format/auto/image.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/0b000cf2-6673-4988-aab8-dc7e6125fa0e/-/resize/1200/-/format/auto/image.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/d6e5556f-f784-479c-b212-ada87c335bc7/-/format/auto/homepage.gif"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/58f92716-963d-425d-a3c0-4711f94e38d6/-/resize/1200/-/format/auto/screencapture-web-archive-org-web-20200624082405-https-www-prezly-com-2021-06-07-14_53_39%20(1).png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/15c4ed09-8563-4d98-b8e1-35a7acc06ba8/-/resize/1200/-/format/auto/image.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/70dc0c86-e576-4aa8-860a-9de7cfcb0d39/-/resize/1200/-/format/auto/home%20-%20Audience.jpg"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/b37d5255-2938-43ea-9430-ca7de18e29a2/-/resize/1200/-/format/auto/Communication%20Tool%20_%20PR%20Management%20Software.png"/><div class="ContentRenderer_renderer__tPJbs"><section class="prezly-slate-document" data-version="0.50"><h2> </h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">I was scoping some changes to the website today and noticed how much better we plan and execute on changes to the website. </p><h2>2010</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">This is the first version of the homepage created by Jesse and Frederik. </p><img src="https://cdn.uc.assets.prezly.com/bdab4427-2b40-4b89-873a-8dc362503b8f/-/resize/1200/-/format/auto/image.png" alt="Image"/><figcaption>www.prezly.com - 2010</figcaption><h2>2011</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">This one I remember more clearly. Frederik had read a book about &#x27;social proof&#x27; and was obsessed with adding customer faces and quotes on our marketing materials.</p><img src="https://cdn.uc.assets.prezly.com/e1210e87-f34e-46e6-b0eb-f58251ffaa38/-/resize/1200/-/format/auto/image.png" alt="Image"/><figcaption>www.prezly.com - 2011</figcaption><h2>2012</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Did you say social proof? We added quotes, logos of customers using it and were experimenting the opening title</p><img src="https://cdn.uc.assets.prezly.com/eb790891-1539-45c4-ba03-f2da523c34d5/-/resize/1200/-/format/auto/screencapture-web-archive-org-web-20121016162648-http-www-prezly-com-2021-06-07-14_30_33.png" alt="Image"/><figcaption>www.prezly.com - 2012</figcaption><h2>2013</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Another revamp of the website with the first time I see Elvis Presley appear rocking it on the homepage header</p><img src="https://cdn.uc.assets.prezly.com/fdd78e45-b548-4a54-858a-89e12118920c/-/resize/1200/-/format/auto/screencapture-web-archive-org-web-20130430063243-http-www-prezly-com-2021-06-07-14_33_28.png" alt="Image"/><figcaption>www.prezly.com - ​ 2013</figcaption><h2>2014</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">This year was the first time we got rid of the blue/green combination making room for a more subtle color palette</p><img src="https://cdn.uc.assets.prezly.com/166882f7-ed89-474e-bcee-caaead9bc236/-/resize/1200/-/format/auto/screencapture-web-archive-org-web-20141218045337-http-www-prezly-com-2021-06-07-14_36_56.png" alt="Image"/><figcaption>www.prezly.com - 2014</figcaption><h2>2015</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Yet another color scheme and the first time there is a strong focus on &#x27;request a demo&#x27;.</p><img src="https://cdn.uc.assets.prezly.com/bc472ea7-4188-4d99-9b98-634a9844e62a/-/resize/1200/-/format/auto/screencapture-web-archive-org-web-20150821165859-https-www-prezly-com-2021-06-07-14_38_34.png" alt="Image"/><figcaption>www.prezly.com - 2015</figcaption><h2>2016</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">This is a variation of the 2015 design with better copy, different hero. The gray on gray block &#x27;Prezly made it effortless to set up your brand story hubs&#x27; was a poor color choice as I have trouble reading the text.</p><img src="https://cdn.uc.assets.prezly.com/6795f3e4-4319-44d3-a88e-1ae67dfbe91d/-/resize/1200/-/format/auto/screencapture-web-archive-org-web-20160322220125-https-www-prezly-com-2021-06-07-14_40_41.png" alt="Image"/><figcaption>www.prezly.com - 2016</figcaption><h2>2017 - 2018</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">This is the first time we have introduced a CMS to power the site. For the design we broke with all previous versions and started over. The result paid off. </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">The website stayed the same throughout 2018.</p><img src="https://cdn.uc.assets.prezly.com/6d1539b6-84f7-45fa-9f18-52a98d71d5e6/-/resize/1200/-/format/auto/image.png" alt="Image"/><figcaption>www.prezly.com - 2017</figcaption><h2>2019</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Colors changed to a new palette. Part of this homepage was a version with quite some animations (see below)</p><img src="https://cdn.uc.assets.prezly.com/0b000cf2-6673-4988-aab8-dc7e6125fa0e/-/resize/1200/-/format/auto/image.png" alt="Image"/><figcaption> </figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Part of that page was an animation displaying the 3 key areas of the product. I remember the animation as being expensive to build, broken in some browsers and most of all very CPU bound resulting in low FPS.</p><img src="https://cdn.uc.assets.prezly.com/d6e5556f-f784-479c-b212-ada87c335bc7/-/format/auto/homepage.gif" alt="Image"/><figcaption>animations on homepage</figcaption><h2>2020</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Same design framework as our current homepage. Back then it was powered <a class="prezly-slate-link" href="https://lumen.laravel.com/" target="_self">by laravel Lumen framework</a></p><img src="https://cdn.uc.assets.prezly.com/58f92716-963d-425d-a3c0-4711f94e38d6/-/resize/1200/-/format/auto/screencapture-web-archive-org-web-20200624082405-https-www-prezly-com-2021-06-07-14_53_39%20(1).png" alt="Image"/><figcaption>www.prezly.com - 2020</figcaption><h2>2021</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Earlier this year we switched <a class="prezly-slate-link" href="https://www.prezly.com/" target="_self">the website</a> to be powered by Vercels <a class="prezly-slate-link" href="https://nextjs.org/" target="_self">Next.js</a>. We swapped out the &#x27;demo request&#x27; flow to a start your free trial flow.</p><img src="https://cdn.uc.assets.prezly.com/15c4ed09-8563-4d98-b8e1-35a7acc06ba8/-/resize/1200/-/format/auto/image.png" alt="Image"/><figcaption>www.prezly.com - 2021</figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p><h2>2022</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">We doubled down on using NextJs and Contentful for the website. In attempt to use Prezly more ourselves (<a class="prezly-slate-link" href="https://www.lifelog.be/how-prezly-uses-prezly-to-run-prezly" target="_blank" rel="noreferrer">Read How Prezly uses Prezly, to run Prezly</a>) we also integrated the /help section, the /academy and /news newsrooms.</p><img src="https://cdn.uc.assets.prezly.com/70dc0c86-e576-4aa8-860a-9de7cfcb0d39/-/resize/1200/-/format/auto/home%20-%20Audience.jpg" alt="Image"/><figcaption> </figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">We doubled down on the &#x27;Turn your fanbase into Fans&#x27; and added a homepage slider to indicate you can use Prezly for different use-cases.</p><h2>2023</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Current homepage with a stronger focus on explaining what the product does exactly together with social proof. Hero was replaced by a slider/video component that highlights the different parts of Prezly.</p><img src="https://cdn.uc.assets.prezly.com/b37d5255-2938-43ea-9430-ca7de18e29a2/-/resize/1200/-/format/auto/Communication%20Tool%20_%20PR%20Management%20Software.png" alt="Image"/><figcaption> </figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p></section></div>]]></description><link>undefined/the-prezly-homepage-from-2010-to-today</link><guid isPermaLink="true">undefined/the-prezly-homepage-from-2010-to-today</guid><pubDate>Mon, 07 Jun 2021 12:58:00 GMT</pubDate></item><item><title><![CDATA[Create an editing experience people love]]></title><description><![CDATA[<link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/b0445a6e-b5d0-4c2b-9439-8a701a65bec9/-/format/auto/adding_link.gif"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/44ce61ae-41e3-480a-adac-4746bea8059c/-/format/auto/link_to_content.gif"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/c32faea1-ade2-4b9d-a99d-3c8d46a8108e/-/format/auto/editor_medium.gif"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/39dd18d9-ffe6-4b4b-bc0a-4323e196e080/-/format/auto/linear_text_image_text.gif"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/04810ee8-f974-433a-83d4-1f9e272361bb/-/resize/1200/-/format/auto/image.png"/><div class="ContentRenderer_renderer__tPJbs"><section class="prezly-slate-document" data-version="0.50"><h2> </h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Text editors are central to most online apps. While text editors used to be important for Content Management Systems (CMS), they are now an important part of many more tools such as Project Management Systems and CRM systems. Customers are rightfully more demanding when it comes to how they create content.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"><strong>But building a good editor is bloody hard</strong>. You&#x27;d expect that this is a solved problem in 2021 yet so many products have a poor writing experience. As a result, content is written off-line, using tools like Google Docs, Microsoft Word or a notes app and then pasted in an inferior editor.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">This is a post listing some recommendations for creating a more friendly web-based writing experience:</p><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://www.lifelog.be/create-an-editing-experience-people-love#auto-save-to-prevent-lost-work" target="_self">Auto-save to avoid losing work</a></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://www.lifelog.be/create-an-editing-experience-people-love#awesome-linking-experience" target="_self">Awesome linking experience</a></span><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://www.lifelog.be/create-an-editing-experience-people-love#easily-link-to-content-in-same-cms" target="_self">Easily link to other content in the same CMS</a></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://www.lifelog.be/create-an-editing-experience-people-love#allow-different-types-of-links" target="_self">Allow different type of links</a></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://www.lifelog.be/create-an-editing-experience-people-love#highlight-and-upgrade-broken-links" target="_self">Highlight (and upgrade) broken links</a></span></li></ul></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://www.lifelog.be/create-an-editing-experience-people-love#use-good-typography" target="_self">Use good typography</a></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://www.lifelog.be/create-an-editing-experience-people-love#great-support-for-lists" target="_self">Great support for lists</a></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://www.lifelog.be/create-an-editing-experience-people-love#show-pasted-images-inline" target="_self">Show pasted images inline</a></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://www.lifelog.be/create-an-editing-experience-people-love#essential-features-done-right" target="_self">Essential features done right</a></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://www.lifelog.be/create-an-editing-experience-people-love#wrap-long-lines" target="_self">Wrap long lines</a></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://www.lifelog.be/create-an-editing-experience-people-love#make-it-fast" target="_self">Make it fast (speed/performance)</a></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://www.lifelog.be/create-an-editing-experience-people-love#support-text-correction-extensions" target="_self">Support text-correction extensions</a></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://www.lifelog.be/create-an-editing-experience-people-love#undoredo-with-shortcuts" target="_self">Undo/Redo (with shortcuts)</a></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://www.lifelog.be/create-an-editing-experience-people-love#good-pasting-behaviour" target="_self">Good pasting behaviour</a></span></li></ul><hr class="prezly-slate-divider"/><h1>Auto-Save to prevent lost work</h1><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">If we want to get people away from the &#x27;traditional&#x27; editors we need to protect people from losing their work. No internet connection when you hit save? Browser crash?</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">I can guarantee you that the author will never use your editor the same way ever again if they lost an hour of their work.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Online editors should invest in techniques to make sure this does not happen, the technology is out there. Some ideas:</p><ol class="prezly-slate-list prezly-slate-list--numbered prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Browser Local Storage (client-side)</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Auto-saving in the background (server-side)</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Versioning content (server-side)</span></li></ol><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Option #2 is the option most web apps will pursue but for CMS systems that allow publishing content, it comes with another challenge which is to know which content has been published which is where option #2 comes in.</p><h1>Awesome linking experience</h1><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Most WYSIWYG editors have ported the Microsoft word linking behaviour to their online counterparts. We&#x27;re so used to applying a link to an element:</p><img src="https://cdn.uc.assets.prezly.com/b0445a6e-b5d0-4c2b-9439-8a701a65bec9/-/format/auto/adding_link.gif" alt="Image"/><figcaption>Adding link in gmail</figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">This is a missed opportunity with two big area&#x27;s of improvement:</p><h2>Easily link to content in same CMS</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Most blog posts refer to previous posts or paragraphs. Forcing editors to visit their blog, find the URL/anchor and paste it as a link is such a waste of time.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">A few exceptions (Google Docs, Notion) are helping writers to browse/search for other content but I&#x27;m disappointed every time I have to open a new tab to find the URL for something I want to link.</p><img src="https://cdn.uc.assets.prezly.com/44ce61ae-41e3-480a-adac-4746bea8059c/-/format/auto/link_to_content.gif" alt="Image"/><figcaption>Notion helps with linking to other pages</figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">ℹ ​ Bonus points for the ability to link to anchors which I think only Google Docs can do (only within the same document).</p><h2>Allow different types of links</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">A link used to be a few underlined words pointing to an external page. In 2021 there are so many more ways to present links (cards, embeds).</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Editors could help with &#x27;upgrading&#x27; links to an embed or card. Preferably the editor has the ability to specify how the link is displayed.</p><h2>Highlight (and upgrade) broken links</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">The web is filled with broken links 😵 Make sure the editor indicates broken links by checking the page in the background and hinting at the status (status code).</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">While you&#x27;re at it how about improving/fixing the link? If the server replies with a 302 redirect (for example from http:// to https://) update the link without asking the editor. It does make the web a better place!</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">ℹ ​ Personally, I prefer not to see the schema in any link. If a user pastes https://www.lifelog.be in your editor you&#x27;d like to see it auto-link that phrase to the webpage and at the same time change the link text (or label) to www.lifelog.be.</p><h1>Use good typography</h1><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Many online editors use weird fonts and font sizes. ​ No content creator is going to spend an hour writing content in an editor that makes them squint.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Readability is a big problem on the web with <a class="prezly-slate-link" href="https://usability.yale.edu/web-accessibility/articles/readability" target="_self">many</a> <a class="prezly-slate-link" href="https://readable.com/" target="_self">initiatives</a> and <a class="prezly-slate-link" href="https://www.smashingmagazine.com/2009/03/10-principles-for-readable-web-typography/" target="_self">resources</a> to solve that. Learn about the best practices in those projects and apply them to your editor.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">The example to follow here is Medium.com where the editing experience equals the reading experience. </p><img src="https://cdn.uc.assets.prezly.com/c32faea1-ade2-4b9d-a99d-3c8d46a8108e/-/format/auto/editor_medium.gif" alt="Image"/><figcaption>Editing in medium.com is like reading</figcaption><h1>Great support for lists</h1><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">People use lists. A lot. Make sure your editor has good support for it. A list 😎of suggestions:</p><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">support hitting tab to indent lists</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">auto-detect lists once a person starts a few (or one line) with -</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">allow nested lists</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">shift+tab should decrease indenting</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">think about how people &#x27;exit&#x27; the list (enter+enter?)</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">allow people to convert lists from bullets into numbers</span></li></ul><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Writing this piece in Bear reminds me how important the support for lists really is.</p><h1>Show pasted images inline</h1><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">While initially, only some editors allowed you to attach images to your posts it&#x27;s 2021. People do text -&gt; image -&gt; text. </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Regardless if one is writing an article on a blogging platform, sharing feedback on a design in a project management platform or updating an internal document in your intranet please support pasting images!</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">The ideal flow is that while writing the text you can just hit paste to add an image from the clipboard. Please don&#x27;t attach it at the bottom of the post (I&#x27;m not drafting an email) but add it wherever the cursor is.</p><img src="https://cdn.uc.assets.prezly.com/39dd18d9-ffe6-4b4b-bc0a-4323e196e080/-/format/auto/linear_text_image_text.gif" alt="Image"/><figcaption>Pasting an image in a Linear comment</figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">ℹ ​ Bonus points for auto-sizing/optimising the image or allowing controls for the editor to size/align the image</p><h1>Essential Features done right</h1><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">All the power features you have added to your editor (image wrapping, code editing, advanced text styles or colour picker) do not mean anything if you have not nailed the basics.</p><img src="https://cdn.uc.assets.prezly.com/04810ee8-f974-433a-83d4-1f9e272361bb/-/resize/1200/-/format/auto/image.png" alt="Image"/><figcaption> </figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Seriously, I don&#x27;t need font colours or backgrounds if I can&#x27;t paste an image inline. Start with the basics before you spend time on the advanced stuff. </p><h1>Wrap long lines</h1><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">There has been <a class="prezly-slate-link" href="https://baymard.com/blog/line-length-readability" target="_self">plenty</a> <a class="prezly-slate-link" href="https://www.amazon.com/Elements-Typographic-Style-Robert-Bringhurst/dp/0881792063/&amp;tag=jounce-20" target="_self">of</a> <a class="prezly-slate-link" href="https://www.smashingmagazine.com/2014/09/balancing-line-length-font-size-responsive-web-design/" target="_self">research</a> that a line longer than 70 characters is hard to read. While this rule is well known in web readability it&#x27;s often ignored in editing experiences.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">This problem is even more noticeable with full-width (focus mode) text experiences. </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Use max-width in combination with optimised font size/typography for an editing experience that has good readability. It really does wonders.</p><h1>Make it fast</h1><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">This should not even be here but I&#x27;m adding it anyway. If your editor is clogging up my browser window (I&#x27;m looking at you Confluence) you&#x27;ll never convince me to use your editor to do the writing.</p><p><a href="https://twitter.com/youyuxi/status/1377239367211700228">Evan You on Twitter</a></p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Spend time on performance! <a class="prezly-slate-link" href="https://twitter.com/sarthakgh/status/1365295526678265856" target="_self">Some people will take 1/10 of the features for 10x the speed</a>.</p><h1>Support text-correction extensions</h1><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">How long did it take for <a class="prezly-slate-link" href="https://support.grammarly.com/hc/en-us/articles/115000090991-Does-Grammarly-support-Google-Docs-#:~:text=If%20you%20use%20Chrome%20as,Grammarly%20sidebar%20in%20Google%20Docs.&amp;text=To%20access%20Grammarly&#x27;s%20suggestions%2C%20open,corner%20of%20the%20browser%20window." target="_self">google docs to support Grammarly</a>?</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">There are so many good correction engines (Grammarly, slick write) out there that provide browser extensions to make sure the text correction can be done wherever you write. Surprisingly not all editors support those extensions forcing you to copy/paste your text into Grammarly just to do text corrections 🤯</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Also, please don&#x27;t try to build text correction yourself (maybe unless you are Google) but allow existing solutions to hook into yours.</p><h1>Undo/Redo (with shortcuts)</h1><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">For me undo/redo is <a class="prezly-slate-link" href="http://www.mattduck.com/undo-redo-text-editors.html" target="_self">a solved problem</a> and much expected in any content editor. Surprisingly there are editors that do not support undoing.</p><h1>Good pasting behaviour</h1><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Following the suggestions in this post is not a guarantee that people will stop pasting stuff. Spend time on figuring out what/how they are pasting and make sure it works well. </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">In our case, we triggered a survey the first time we detected a paste from an unknown source (weird formatting or elements). In that survey, we asked the user where they were pasting from and questions around why they didn&#x27;t write in Prezly in the first place.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Results of this survey were then used to help us figure out which pasting behaviour (from which source) we needed to prioritise.</p><hr class="prezly-slate-divider"/><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Word has been around for a long time. It&#x27;s unlikely that the tips in this post would mean people trust your editor to be 1:1 alternative. Like it or not, MS Word will continue to be an enormous force behind the content that finds its way online.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">However, it&#x27;s also true that a lot of online editors <u>are super annoying to content authors</u>. While some platforms have a great tech stack and are growing rapidly they oftentimes have poor experience for long writing sessions. So it&#x27;s little surprise authors actively avoid them to perform their writing.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Maybe this post is one step in the right direction</p></section></div>]]></description><link>undefined/create-an-editing-experience-people-love</link><guid isPermaLink="true">undefined/create-an-editing-experience-people-love</guid><pubDate>Wed, 02 Jun 2021 15:27:00 GMT</pubDate></item><item><title><![CDATA[How I built this blog]]></title><description><![CDATA[<link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/5238e523-4c7e-43ee-a75d-1c2583a713b2/-/resize/1200/-/format/auto/image.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/8848de10-4e01-40c4-8d3f-877658f34657/-/resize/1200/-/format/auto/image.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/6fbd15b1-9bd2-439e-a03b-6a581e34b172/-/resize/1200/-/format/auto/image.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/a4a1d679-7445-4db3-a5ff-4c616c72159f/-/resize/1200/-/format/auto/Untitled.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/3cf98759-8f87-4ecd-a1fe-59b32ee8432e/-/resize/1200/-/format/auto/image.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/f3360c35-de27-4c19-a40a-a1b5fb50946b/-/resize/1200/-/format/auto/image.png"/><div class="ContentRenderer_renderer__tPJbs"><section class="prezly-slate-document" data-version="0.50"><h2> </h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">In this article, I am going to break down how this blog works. When I started this project my main requirements were 1) developer experience, 2) performance and 3) simplicity.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"><strong>Update July 2022: </strong><a class="prezly-slate-link" href="https://www.lifelog.be/new-blog-theme" target="_blank" rel="noreferrer"><strong>New blog theme</strong></a></p><h2>The stack</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">This blog is a <a class="prezly-slate-link" href="https://nextjs.org/" target="_self">Next.js</a> application that is pulling in content from the Prezly CMS. </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Using Next, <a class="prezly-slate-link" href="https://nextjs.org/docs/basic-features/pages#two-forms-of-pre-rendering" target="_self">you have a few options</a> when it comes to page rendering: “on-demand” (server-side rendering) or ahead of time (static site generation). I&#x27;ve opted to build all the pages posts ahead of time when the site is generated (so on every deployment).</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">The site is deployed on <a class="prezly-slate-link" href="https://vercel.com/" target="_self">Vercel</a> (the company behind Next). The developer experience is awesome where it auto deploys the blog on every commit/merge to main.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p><img src="https://cdn.uc.assets.prezly.com/5238e523-4c7e-43ee-a75d-1c2583a713b2/-/resize/1200/-/format/auto/image.png" alt="Image"/><figcaption>Vercel Dashboard</figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">For analytics I decided to use <a class="prezly-slate-link" href="https://plausible.io/" target="_self">Plausible Analytics</a> which took me 3 lines of code to set-up:</p><h2>Content/CMS/Deployment</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">This all started as a big experiment while I was trying to figure out what we needed to do <a class="prezly-slate-link" href="https://www.prezly.com/news/announcing-open-newsroom-themes" target="_self">to make Prezly more developer-friendly</a>. By trying to power an (external) blog with content written within the Prezly editor it would allow me to identify the parts of the chain that need more attention.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Every time I create or write a story in Prezly it triggers a Vercel webhook which in its turn generates+deploys the site. </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p><img src="https://cdn.uc.assets.prezly.com/8848de10-4e01-40c4-8d3f-877658f34657/-/resize/1200/-/format/auto/image.png" alt="Image"/><figcaption>Edit -&gt; Webhook -&gt; Deploy</figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Because of the limited number of blog posts the rebuild takes less than a minute:</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p><img src="https://cdn.uc.assets.prezly.com/6fbd15b1-9bd2-439e-a03b-6a581e34b172/-/resize/1200/-/format/auto/image.png" alt="Image"/><figcaption>Building blog (51 seconds)</figcaption><h2>Story Renderer</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">The Prezly editor stores content in a rich text format (and not HTML). This is a common practice in today&#x27;s Content Management Systems as this allows for more flexibility when it comes to the rendering and management of that content. There <a class="prezly-slate-link" href="https://github.com/bustle/mobiledoc-kit/blob/master/MOBILEDOC.md" target="_self">is even a standard for it.</a></p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"><a class="prezly-slate-link" href="https://arpitonline.com/2018/12/10/on-rich-text-editors/" target="_self">Here is a great article</a> (2018) about the benefit of rich content types.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p><p><a href="https://arpitonline.com/2018/12/10/on-rich-text-editors/">On Rich Text Editors</a></p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">In Prezly&#x27;s case, it means that content you write in a SlateJS powered editor is stored as a JSON object in our data store. That raw content object is fetchable through the API and we provide a renderer to then turn it into HTML.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">So take this example content in Prezly:</p><img src="https://cdn.uc.assets.prezly.com/a4a1d679-7445-4db3-a5ff-4c616c72159f/-/resize/1200/-/format/auto/Untitled.png" alt="Image"/><figcaption>Example content (email campaign in Prezly)</figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">The content (starting from hi %contact.firstname%) will be stored JSON:</p><p><a href="https://gist.github.com/digitalbase/116cb697b2a1b1dceec302230d23036d">Github Gist: <!-- -->Example email campaign (slateJS)</a></p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">As we&#x27;re using <a class="prezly-slate-link" href="https://docs.slatejs.org/" target="_self">SlateJS</a> as an editor you can read more about <a class="prezly-slate-link" href="https://docs.slatejs.org/concepts/02-nodes" target="_self">the content structure</a> (not mobile doc) in their help article. Using the <a class="prezly-slate-link" href="https://www.npmjs.com/package/@prezly/slate-renderer" target="_self">Prezly provided slate renderer</a> the code that turns this JSON object into the HTML you are reading right now looks like this:</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">https://github.com/digitalbase/lifelog.be/blob/main/components/Article/Article.tsx#L36-L40</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">How content is rendered can be customised by feeding options into the renderer which I had to use to display code snippets (see below).</p><h2>Other Pages</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">For other pages such as the home page, the list of blog posts and sitemap I used the Prezly Node SDK to do some very simple API fetching.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">For example, the home page that lists the latest 3 articles (<a class="prezly-slate-link" href="https://github.com/digitalbase/lifelog.be/blob/main/pages/index.tsx" target="_self">source code</a>):</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">https://github.com/digitalbase/lifelog.be/blob/main/pages/index.tsx#L32-L42</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Which by itself is just a simple wrapper to list content</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">https://github.com/digitalbase/lifelog.be/blob/fbb7d1d2fb56f0f2369b50e4606f975fbf49243a/src/providers/prezly.ts#L40-L63</p><h2>Embedding Code Snippets</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">The Prezly supports embeds by making use of <a class="prezly-slate-link" href="https://iframely.com/" target="_self">Iframely</a> which natively supports github embeds (see JSON sample above). But if you have a lot of code to show off copy-pasting code into secret Github gists is cumbersome. </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">So I wanted to be able to show off code in a github repo or branch and Googling a solution for this got me to emgithub.com which looks to be exactly what I wanted.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Integrating the embed code in within the project was pretty clunky (dangerouslySetInnerHtml, embed.js being calls numberous times, ...) so decided to extract the code. Actually, <a class="prezly-slate-link" href="https://github.com/digitalbase/lifelog.be/pulls?q=is%3Apr+is%3Aclosed" target="_self">my colleague did it for me</a>.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">https://github.com/digitalbase/lifelog.be/blob/main/components/GithubSnippet/GithubSnippet.tsx</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">So what the code is doing:</p><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">fetching the raw github code (client side) using https://raw.githubusercontent.com</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">use &#x27;<a class="prezly-slate-link" href="https://github.com/react-syntax-highlighter/react-syntax-highlighter" target="_self">react-syntax-highlighter</a>&#x27; to show a code pane</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">add &#x27;view raw&#x27; and &#x27;copy to clipboard&#x27; functionality. <a class="prezly-slate-link" href="https://stackoverflow.com/questions/400212/how-do-i-copy-to-the-clipboard-in-javascript" target="_self">Stole from stackoverflow</a></span></li></ul><img src="https://cdn.uc.assets.prezly.com/3cf98759-8f87-4ecd-a1fe-59b32ee8432e/-/resize/1200/-/format/auto/image.png" alt="Image"/><figcaption>My browser fetching the code snippets on this page</figcaption><h2>Styling</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">When it comes to styling I think I overdid it. I decided to use <a class="prezly-slate-link" href="https://chakra-ui.com/" target="_self">ChakraUI</a> (as an experiment) but in the meanwhile I have been playing around with TailwindCSS (and more <a class="prezly-slate-link" href="https://blog.tailwindcss.com/just-in-time-the-next-generation-of-tailwind-css" target="_self">specifically with Just in Time generation</a>). Now I want to throw out ChakraUI and switch to vanilla tailwind.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">There are some upsides to using ChakraUI. For example, <a class="prezly-slate-link" href="https://github.com/digitalbase/lifelog.be/blob/main/components/Hero/Hero.tsx" target="_self">check out the source code</a> for this hero component on the homepage:</p><img src="https://cdn.uc.assets.prezly.com/f3360c35-de27-4c19-a40a-a1b5fb50946b/-/resize/1200/-/format/auto/image.png" alt="Image"/><figcaption>Hero component on homepage</figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Overall I feel using Chakra forced me to learn another syntax/way of doing things and I might be better off investing this time in properly learning TailwindCSS which can do the same stuff anyway.</p><h2>Todo list</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">A list of things I want to do with the blog</p><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><a class="prezly-slate-link" href="https://github.com/prezly/theme-nextjs-starter" target="_self">Use theme-starter</a> boilerplate code to fetch content</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Score better on Lighthouse Audit tools</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Allow paging from home page</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Support Search</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Implement subscribe functionality (stay updated)</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Improve SEO/meta tags</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Add RSS feed (and any other feed protocols people use)</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Get rid of ChakraUI</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Make better use of <a class="prezly-slate-link" href="https://uploadcare.com/" target="_self">Uploadcare.com</a> (using <a class="prezly-slate-link" href="https://www.npmjs.com/package/@prezly/uploadcare-image" target="_self">uploadcare-image</a>)</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Bring back sitemap.xml</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Fetch intro text from newsroom boilerplate (make customiseable)</span></li></ul><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p></section></div>]]></description><link>undefined/how-i-built-this-blog</link><guid isPermaLink="true">undefined/how-i-built-this-blog</guid><pubDate>Mon, 31 May 2021 12:16:00 GMT</pubDate></item><item><title><![CDATA[Ad-tech of top-20 newsrooms]]></title><description><![CDATA[<link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/30fbd03d-db82-483d-825a-c56752d120fb/-/resize/1200/-/format/auto/image.png"/><div class="ContentRenderer_renderer__tPJbs"><section class="prezly-slate-document" data-version="0.50"><h2> </h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">In <a class="prezly-slate-link" href="https://www.lifelog.be/what-makes-a-good-newsroom" target="_self">a previous post</a> I tried to find the best newsroom based on unbiased signals such as search traffic, lighthouse scores, accessibility and page speed.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Now I&#x27;m interested in the ad stack of those newsrooms: Are they all using Google Analytics? Who is using segment.com and on average how many ad trackers can we detect?</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Let&#x27;s dive in.</p><hr class="prezly-slate-divider"/><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">By using a combination of <a class="prezly-slate-link" href="https://sitereport.netcraft.com/" target="_self">Netcraft Site Report</a> and two chrome plugins (<a class="prezly-slate-link" href="https://www.whatruns.com/" target="_self">Whatruns</a> and <a class="prezly-slate-link" href="https://www.wappalyzer.com/" target="_self">Wappalyzer</a>) i went through the top-20 sites one by one and filled in these columns:</p><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><strong>Frameworks</strong>: Detected frameworks both on server and client excluding things like modernizr, wordpress (see next column) or small client libraries</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><strong>CMS</strong>: Content Management System powering the site. In the era of Headless CMS sites, CDN&#x27;s and better devops practices this is hard to spot</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><strong>Main Language</strong>: PHP vs ASP vs Python based on the framework used</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><strong>CDN: </strong>Content Delivery Network to speed up page serving globally. Not always detected</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><strong>Tracking: </strong>Ad-tech/Tracking libraries used detected by the chrome plugins. </span></li></ul><h1>The results</h1><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Screenshot of the results below but <a class="prezly-slate-link" href="https://airtable.com/shrimu2IxGl6ILLEh" target="_self">use this airtable link</a> if you want to see the raw data</p><img src="https://cdn.uc.assets.prezly.com/30fbd03d-db82-483d-825a-c56752d120fb/-/resize/1200/-/format/auto/image.png" alt="Image"/><figcaption> </figcaption><h1>Learnings</h1><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">It&#x27;s only 20 sites but lets try and see if there is anything interesting to learn,</p><h2>Frameworks and CDN</h2><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Wordpress powers 7 of the top-20 newsrooms</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">jQuery is on 13 of the top-20 newsrooms</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Bootstrap is on 4 of the top-20 newsrooms</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">2 sites are using Angular</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">1 site is using nextJs</span></li></ul><h2>Hosting &amp; CDN</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">As expected the major CDN players are powering those sites with 35% Akamai and the rest evenly spread between CloudFront, Google CDN, fastly and such.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Four sites (Revolut, Walmart, Honda and SAP) did not show a CDN but they might be whitelabeled/custom CDN set-ups.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Web Servers are hard to see nowadays but I think it&#x27;s safe to say that the majority of sites will be powered by Apache or Nginx. Nothing interesting here.</p><h2>Ad Tracking</h2><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">14 sites are using Google Analytics</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">7 using Google Tag Manager </span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">5 using New Relic</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Usual suspects: FB, Twitter, LinkedIn pixels, Adobe SiteCatalyst or Analytics, ​ </span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Only one site (<a class="prezly-slate-link" href="https://www.apple.com/newsroom/" target="_self">Apple</a>) has no ad-tech/trackers</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Newsroom with the most trackers is <a class="prezly-slate-link" href="https://newsroom.paypal-corp.com/" target="_self">Paypal</a> with seven ad trackers</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Only one site that has privacy focussed analytics which is Paypal, but then they are running that besides Google Analytics</span></li></ul><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p></section></div>]]></description><link>undefined/ad-tech-of-top-20-newsrooms</link><guid isPermaLink="true">undefined/ad-tech-of-top-20-newsrooms</guid><pubDate>Fri, 28 May 2021 14:13:00 GMT</pubDate></item><item><title><![CDATA[What makes a good newsroom?]]></title><description><![CDATA[<link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/b04fe752-0a4f-491a-b120-3e9207d697e2/-/resize/1200/-/format/auto/image.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/bf615ac1-5676-47fb-a3eb-1d0feff83f85/-/resize/1200/-/format/auto/image.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/41a8ae17-3e37-4056-a173-8f8616bcff9a/-/resize/1200/-/format/auto/image.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/2ae6a5b2-7551-4719-a1ef-c53613d2e67c/-/resize/1200/-/format/auto/image.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/f7cf5cfd-f38f-41d7-9e44-8b523804ef57/-/resize/1200/-/format/auto/image.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/6b14d6ad-9bb1-4c09-9a93-a1d874f1a17f/-/resize/1200/-/format/auto/image.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/d2cdadc2-8b37-4b38-ab29-0e7b12de0f3d/-/resize/1200/-/format/auto/image.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/42a6f684-9305-495c-b9d0-001a2699d291/-/resize/1200/-/format/auto/image.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/34a86409-747a-4786-b0d9-61717661648b/-/resize/1200/-/format/auto/image.png"/><div class="ContentRenderer_renderer__tPJbs"><section class="prezly-slate-document" data-version="0.50"><h2> </h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">With help from Prezly colleagues, customers and twitter I now <a class="prezly-slate-link" href="https://airtable.com/shrgIsrPYzp7NT6mg/tblAecb7mJO1hIfZT" target="_self">have a list of about 60 newsroom URLs</a> from well-known brands, but which ones are the best?</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">In this post, I will explore different ways to score those newsrooms on their technical foundations. Obviously, a good newsroom is about a lot more than performance and accessibility but let&#x27;s start with the basics.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Here are the criteria I will use to order the list:</p><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Lighthouse Score</span><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Page Speed </span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Accessibility</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Search Engine Friendliness</span></li></ul></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Ahrefs.com data</span><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Url Rating</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Domain Rank</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Referring domains</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Search Traffic Estimate</span></li></ul></li></ul><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Assigning weights to those different criteria and averaging it in a single number will result a pretty accurate score around the technical foundations.</p><h1>Lighthouse Score</h1><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">There is a great way to measure some web fundamentals (performance, accessibility, best practices and SEO) and it&#x27;s called <a class="prezly-slate-link" href="https://developers.google.com/web/tools/lighthouse" target="_self">Lighthouse</a>. It actually comes with every chrome install by opening dev tools and clicking the Lighthouse tab that allows you to generate a report of any site you visit:</p><img src="https://cdn.uc.assets.prezly.com/b04fe752-0a4f-491a-b120-3e9207d697e2/-/resize/1200/-/format/auto/image.png" alt="Image"/><figcaption> </figcaption><h2>Page Speed</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">A critical component in what makes a good newsroom is speed. <a class="prezly-slate-link" href="https://bdickason.com/posts/speed-is-the-killer-feature/" target="_self">Speed is the killer feature</a>. Running a lighthouse score on <a class="prezly-slate-link" href="https://news.nike.com/" target="_self">the Nike newsroom</a> for example would, at the time of writing (March 8, 2021) give you a score of 62% doing a performance audit with a mobile device:</p><img src="https://cdn.uc.assets.prezly.com/bf615ac1-5676-47fb-a3eb-1d0feff83f85/-/resize/1200/-/format/auto/image.png" alt="Image"/><figcaption>Lighthouse Audit news.nike.com - Score 62%</figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Running the lighthouse audit for almost 100 newsrooms would take me too much time but there is a way to run the same audit through code (<a class="prezly-slate-link" href="https://github.com/GoogleChrome/lighthouse#using-the-node-cli" target="_self">using node</a>).</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Here is the code I used to walk through all the newsrooms and run both a desktop and mobile audit and feed the scores back to the airtable sheet:</p><p><a href="https://gist.github.com/digitalbase/f087e0ce0a16c5476d8f74c9d234a3b9">Github Gist: <!-- -->performance.js</a></p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Running the audit took about 30 minutes and did crash Chrome a few times while it was running. The average desktop performance score is 41% with the median being 39%. Not a single newsroom is scoring over 80% in desktop performance.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">The fastest newsrooms on the list: <a class="prezly-slate-link" href="https://blog.revolut.com/" target="_self">Revolut</a>, <a class="prezly-slate-link" href="https://news.airbnb.com/" target="_self">Airbnb</a>, <a class="prezly-slate-link" href="https://thewaltdisneycompany.com/news/" target="_self">Walt Disney</a> and <a class="prezly-slate-link" href="https://media.netflix.com/en/" target="_self">Netflix</a>. Not surprisingly all companies that understand the importance of speed</p><p><a href="https://twitter.com/digitalbase/status/1367150465113325586">Gijs Nelissen on Twitter</a></p><h2>Accessibility</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">A second way of scoring the sites is accessibility. <a class="prezly-slate-link" href="https://www.w3.org/WAI/fundamentals/accessibility-intro/" target="_self">Here is how w3c describes</a> accessibility:</p><blockquote class="prezly-slate-quote prezly-slate-quote--align-inherit">When websites and web tools are properly designed and coded, people with disabilities can use them. However, currently many sites and tools are developed with accessibility barriers that make them difficult or impossible for some people to use. Making the web accessible benefits individuals, businesses, and society. International web standards define what is needed for accessibility.</blockquote><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Lighthouse can score accessibility with the same audit tool returning a score that is a weighted average of a different set of <a class="prezly-slate-link" href="https://web.dev/lighthouse-accessibility" target="_self">accessibility audits</a>. I used pretty much the same code to run both an accessibility and a SEO audit for all different newsrooms:</p><p><a href="https://gist.github.com/digitalbase/118ef9fbd941cb3d554331a358e6e39b">Github Gist: <!-- -->airtable_lighthouse.js</a></p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">This audit took a lot less time to run. The audit was surprising as the top-3 was different from the performance audit with <a class="prezly-slate-link" href="https://www.nestle.com/media" target="_self">Nestle</a>, <a class="prezly-slate-link" href="https://usa.visa.com/about-visa/newsroom/press-releases-listing.html" target="_self">Visa</a> and <a class="prezly-slate-link" href="https://stories.starbucks.com/" target="_self">Starbucks</a> leading by example with +98% scores.</p><p><a href="https://twitter.com/digitalbase/status/1367435197885595650">Gijs Nelissen on Twitter</a></p><h2>Search Engine Optimalisation (SEO)</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">The time spent on small improvements that benefit the on-page SEO paints some kind of picture to what level of detail was spent on a site. Here is an example lighthouse audit of a site like <a class="prezly-slate-link" href="https://stories.starbucks.com/" target="_self">the Starbucks story</a>:</p><img src="https://cdn.uc.assets.prezly.com/41a8ae17-3e37-4056-a173-8f8616bcff9a/-/resize/1200/-/format/auto/image.png" alt="Image"/><figcaption>Starbucks - SEO audit (lighthouse)</figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">The code to run that audit is posted above and all the results are available <a class="prezly-slate-link" href="https://airtable.com/shrgIsrPYzp7NT6mg" target="_self">in the airtable sheet</a>. Facebook, Instagram (same engine?), and Airbnb all score 100% on SEO.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">In the paragraphs below we&#x27;ll be using ahrefs.com to go deeper into the SEO ranking.</p><p><a href="https://twitter.com/digitalbase/status/1367436064516935683">Gijs Nelissen on Twitter</a></p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Averaging those tech scores here is the top-15 newsrooms so far:</p><img src="https://cdn.uc.assets.prezly.com/2ae6a5b2-7551-4719-a1ef-c53613d2e67c/-/resize/1200/-/format/auto/image.png" alt="Image"/><figcaption>Top 15 newsrooms scoring performance, SEO and accessibility</figcaption><h1>Ahrefs.com</h1><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Ahrefs offers a set of tools allowing you to audit any site on the internet. From their website</p><blockquote class="prezly-slate-quote prezly-slate-quote--align-inherit">Ahrefs is an All-in-one SEO toolset, with free Learning materials and a passionate Community &amp; support</blockquote><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"><strong>In our case we want to get a few indicators about the collected newsrooms. I could look at 50+ different data points but for the sake of simplicity I will keep it to these:</strong></p><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><strong>URL Rating</strong> (UR) shows the strength of a page&#x27;s link profile on a 100-point scale. The bigger the number, the stronger a page&#x27;s link profile is. </span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><strong>Domain Rating</strong> (DR) shows the strength of a website&#x27;s backlink profile compared to the others in hrefs database on a 100-point scale.</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><strong>Referring domains</strong> are websites from which the target website or web page has one or more backlinks. For example, if a web page has a backlink from the <em>New York Times</em>, then it has one referring domain. If it has a link from the<em> New York Times</em> and <em>Forbes</em>, that it has two referring domains. If it has two backlinks from the <em>New York Times</em>, then it still has one referring domain.</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><strong>Search Traffic Estimate </strong>is an ahrefs.com estimation<strong> </strong>of how much organic search traffic your target website, subfolder or URL gets each month.</span></li></ul><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">As I don&#x27;t want to fill in those numbers in the Airtable I upgraded to an Ahrefs.com API subscription and pulled in the data. Here is the code:</p><p><a href="https://gist.github.com/digitalbase/bb549d7a01b95048cc02c36476b2b10a">Github Gist: <!-- -->ahref_airtable.js</a></p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">I know I can make this script much faster by parallelizing the request (feel free to suggest!) but my brain doesn&#x27;t function well in an asynchronous world 🤯</p><h2>URL and Domain Rating</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Clear winners in URL and Domain rating are Apple, Facebook and Youtube. In this case, I believe online/technology brands have a clear advantage over their &#x27;offline&#x27; counterparts.</p><img src="https://cdn.uc.assets.prezly.com/f7cf5cfd-f38f-41d7-9e44-8b523804ef57/-/resize/1200/-/format/auto/image.png" alt="Image"/><figcaption>Top 10 - Highest Url and Domain Rating</figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">While the bottom of the list has more what i call &#x27;offline&#x27; brands such as Pepsi, Ford, Budweiser or Nestle. Small surprise in that bottom 20: Google and Microsoft 😬</p><img src="https://cdn.uc.assets.prezly.com/6b14d6ad-9bb1-4c09-9a93-a1d874f1a17f/-/resize/1200/-/format/auto/image.png" alt="Image"/><figcaption>Bottom 20 URL and Domain Rating</figcaption><h2>Referring Domains</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">I have normalised the absolute domains (count of absolute domains linking to this page) to a percentage value. Apple has an astonishing 26 000 domains linking to their newsroom and facebook 14 000).</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Because Google and Microsoft are at the bottom of the list I am suspecting something is wrong with the crawled ahref data.</p><img src="https://cdn.uc.assets.prezly.com/d2cdadc2-8b37-4b38-ab29-0e7b12de0f3d/-/resize/1200/-/format/auto/image.png" alt="Image"/><figcaption>Top 10 referring domains</figcaption><h2>Search Traffic Estimate</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">The search traffic estimate is an interesting number but not reliable for the final rankings. Ahrefs tries to guess the number of visitors/month the newsroom would receive by using SERP rankings and other SEO signals.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">The median of all newsrooms is 540 visitors/month. Most newsrooms are in the same ballpark but outperforming everyone else in the list are Facebook with 14 million visitors/month and Youtube approaching 3 million visitors/month.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"><strong>I will not use the search traffic estimate in the final summary as I noticed it wasn&#x27;t trustworthy. 14 million?!</strong></p><h1>Summarizing</h1><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">To summarise all this I decided to add weight to the different criteria.</p><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><u>Lighthouse Score (60%)</u></span><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Page Speed (70%)</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Accessibility (20%)</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Search Engine Friendliness (10%) -&gt; also in ahrefs.com</span></li></ul></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><u>Ahrefs.com data (40%)</u></span><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">URL Rating (60%)</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Domain Rank (10%)</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Referring domains (30%)</span></li></ul></li></ul><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Overall Lighthouse is taking 60% of the final score while ahref.com data gets 40%.</p><img src="https://cdn.uc.assets.prezly.com/42a6f684-9305-495c-b9d0-001a2699d291/-/resize/1200/-/format/auto/image.png" alt="Image"/><figcaption>Ranking Factors</figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p><h1>The results</h1><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">It took a while to apply the weights in the Airtable formulas but I got there in the end. </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">At the moment of writing here is a list of the best 10 newsrooms based on the criteria and code outlined in this post:</p><img src="https://cdn.uc.assets.prezly.com/34a86409-747a-4786-b0d9-61717661648b/-/resize/1200/-/format/auto/image.png" alt="Image"/><figcaption>Top 10 newsrooms - ranked by technical criteria</figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Want to suggest another newsroom to include? <a class="prezly-slate-link" href="https://www.lifelog.be/searching-for-the-perfect-newsroom" target="_self">Please suggest it</a></p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p></section></div>]]></description><link>undefined/what-makes-a-good-newsroom</link><guid isPermaLink="true">undefined/what-makes-a-good-newsroom</guid><pubDate>Tue, 09 Mar 2021 18:42:00 GMT</pubDate></item><item><title><![CDATA[Building the perfect newsroom]]></title><description><![CDATA[<link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/2b7f2673-99c4-4401-9ba6-23637c354386/-/resize/1200/-/format/auto/image.png"/><div class="ContentRenderer_renderer__tPJbs"><section class="prezly-slate-document" data-version="0.50"><h2> </h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">While <a class="prezly-slate-link" href="https://www.lifelog.be/searching-for-the-perfect-newsroom" target="_self">I&#x27;m searching for inspiration</a> to design, build and integrate the best possible newsroom in Prezly I wanted to share the plans on how we&#x27;re want to do this.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">We want to include our customers and anyone that is interested in building customer newsrooms in the process. I believe this transparency will result in greater overall quality and hey, maybe we&#x27;ll get the attention of a big brand or awesome designer while we&#x27;re at it.</p><h2>Open-Source</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">One of the key goals is to make the whole project open-source. That starts with picking the right license for all the work after which we&#x27;ll open-source the entire thing. That includes:</p><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Wireframes</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Figma Files</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Scope documents</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">The codebase</span></li></ul><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">A side effect of this approach is that customers that want to modify their newsroom experience can do so by starting with one of our base themes. It also means bugs and improvements can now be made by more than the Prezly newsroom team 🎉.</p><h2>Self-Host</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Today all of the newsroom code is heavily tied into our monolith. We&#x27;ve chosen a multi-tenancy approach where a single codebase powers all (10 000+) newsrooms. The difficulty with this approach is that any customisation for a single customer or base themes has to go through the main repository. This also prevents us from collaborating with customers when it comes to theming.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Another goal in this project is to allow customers, or anyone interested in using the theme to self-host their newsroom on existing infrastructure, Vercel, Netlify or any other preferred host can do so.</p><h2>Awesome DX</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">The ecosystem around frontend development is changing at a rapid pace. I believe a critical ingredient of involving themes and developers in the ecosystem is to have a world-class developer experience.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">An excellent experience while working on a theme means has to have things like hot reloading, super-fast local environment, easy installation and enough freedom around theming choices such as which framework to use.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Outside of the pure developer experience, there are a lot of things we can do to make Prezly more enjoyable for developers such as improving API docs, providing different SDKs, reliable documentation, starter kits and interactive tutorials.</p><h2>Break up in phases</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">It would be arrogant to believe that we&#x27;ll come up with the best solution for any newsroom use case. Here is an incomplete list of the functionality we currently support:</p><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">60 Languages (i18n localisation)</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Gallery functionality</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Categories and Tags</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">CSS/JS customisation</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Segment.com, Google Analytics, GTM, Google webmaster support</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Attachments and Contact Cards</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Search</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Embedding tweets, instagram or other embeddable content</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Sharing buttons + short urls</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Subscribe functionality</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Cookie bar + GDPR tools</span></li></ul><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">To give us enough freedom to experiment and focus on user experience we&#x27;re breaking this project up into different phases. By not worrying about how a cookie bar or language switcher is ultimately going to come about we&#x27;re hoping we can catch more speed and work in some kind of an MVP approach.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">To allow for that the different themes need to be aware of all the functionality they support to prevent customers from enabling a theme that does not support the functionality they need.</p><img src="https://cdn.uc.assets.prezly.com/2b7f2673-99c4-4401-9ba6-23637c354386/-/resize/1200/-/format/auto/image.png" alt="Image"/><figcaption>Theme displaying capabilities</figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Let me know what you think!</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p></section></div>]]></description><link>undefined/building-the-perfect-newsroom</link><guid isPermaLink="true">undefined/building-the-perfect-newsroom</guid><pubDate>Wed, 03 Mar 2021 13:22:00 GMT</pubDate></item><item><title><![CDATA[Searching for the perfect newsroom]]></title><description><![CDATA[<link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/74e067ab-4e50-4010-8bef-bd586b0afb76/-/resize/1200/-/format/auto/Slice%201.png"/><link rel="preload" as="image" href="https://cdn.uc.assets.prezly.com/27add51f-e6e4-4293-92c8-3be88c1970cc/-/resize/1200/-/format/auto/image.png"/><div class="ContentRenderer_renderer__tPJbs"><section class="prezly-slate-document" data-version="0.50"><h2> </h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Is &#x27;newsroom expert&#x27; a job title? In the last 8 years, I have been involved in planning, designing, building, migrating and hosting a lot of newsrooms. From small startups and NGO&#x27;s all the way up to large brands like <a class="prezly-slate-link" href="https://en-us.sennheiser.com/newsroom/" target="_self">Sennheiser</a>, <a class="prezly-slate-link" href="https://press.axa.be/" target="_self">AXA</a> or <a class="prezly-slate-link" href="https://news.shopify.com/" target="_self">Shopify</a>.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Within Prezly we offer three newsroom themes that I&#x27;m not super proud of. The first one has been there for almost 8 years with minimal maintenance and upgrades. In fact, some of our clients have customised newsrooms that are notably better than we offer our customer base.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">In the next 3 months, we&#x27;re going to fix that.</p><h2>Examples / Inspiration</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">To prepare for this project I wanted to get some inspiration from the best newsrooms out there. Googling my favourite brands with search queries like &#x27;<em>Apple newsroom</em>&#x27; or &#x27;<em>Red Bull newsroom</em>&#x27; turned out to be really underwhelming.</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"><strong>What are we looking for?</strong></p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">What is a newsroom? A website with a list of news items/stories listed in chronological order? So like a blog? Or a magazine?</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"><a class="prezly-slate-link" href="https://airtable.com/shrG9ksbvQgHB9uGH" target="_self">Please help by suggesting the newsrooms you really like</a>.</p><h2>Use Cases</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Looking at the use cases of Prezly I&#x27;ve split the research into three different use-cases:</p><ol class="prezly-slate-list prezly-slate-list--numbered prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><strong>Brand newsroom</strong>: Site with a listing of important company news and stories</span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><strong>Blog: </strong>A lot like a newsroom (1) but more focus on text and author. </span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text"><strong>Other: </strong>Anything else that is about some kind of chronological listing of content. For example a website to announce podcast episodes, or a cooking blog.</span></li></ol><img src="https://cdn.uc.assets.prezly.com/74e067ab-4e50-4010-8bef-bd586b0afb76/-/resize/1200/-/format/auto/Slice%201.png" alt="Image"/><figcaption>Three use cases</figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p><h2>Brand Newsroom</h2><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">To research brand newsrooms I used the <a class="prezly-slate-link" href="https://www.visualcapitalist.com/top-50-most-valuable-global-brands/" target="_self">top 50 most valuable global brands </a>together with the <a class="prezly-slate-link" href="https://www.businessinsider.com/millennials-favorite-brands" target="_self">500 favorite Millennial brands</a> to search for relevant results. All the newsrooms that are noteworthy were added to <a class="prezly-slate-link" href="https://airtable.com/shrgIsrPYzp7NT6mg/tblAecb7mJO1hIfZT" target="_self">an airtable sheet</a> with a rough rating to do more research later.</p><img src="https://cdn.uc.assets.prezly.com/27add51f-e6e4-4293-92c8-3be88c1970cc/-/resize/1200/-/format/auto/image.png" alt="Image"/><figcaption>Best newsrooms from Fortune 500 list</figcaption><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">It might surprise you but the results browsing through all those newsrooms were really underwhelming. To prove it lets take <a class="prezly-slate-link" href="https://www.visualcapitalist.com/top-50-most-valuable-global-brands/" target="_self">the 10 most valuable global brands</a> with their main newsrooms:</p><ul class="prezly-slate-list prezly-slate-list--bulleted prezly-slate-list--align-inherit"><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Apple - <a class="prezly-slate-link" href="https://www.apple.com/newsroom/" target="_self">www.apple.com/newsroom</a></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Amazon - <a class="prezly-slate-link" href="https://press.aboutamazon.com/" target="_self">press.aboutamazon.com</a></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Microsoft - <a class="prezly-slate-link" href="https://news.microsoft.com/" target="_self">news.microsoft.com</a></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Google - <a class="prezly-slate-link" href="https://www.blog.google/" target="_self">www.blog.google</a></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Samsung - <a class="prezly-slate-link" href="https://news.samsung.com/global/" target="_self">news.samsung.com/global</a></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Coca-Cola - <a class="prezly-slate-link" href="https://www.coca-colacompany.com/news" target="_self">www.coca-colacompany.com/news</a></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Toyota - <a class="prezly-slate-link" href="https://global.toyota/en/newsroom/" target="_self">global.toyota/en/newsroom</a></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Mercedes - <a class="prezly-slate-link" href="https://www.mercedes-benz.com/en/newsroom/" target="_self">www.mercedes-benz.com/en/newsroom</a></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">McDonald&#x27;s - <a class="prezly-slate-link" href="https://corporate.mcdonalds.com/corpmcd/our-stories.html" target="_self">corporate.mcdonalds.com/corpmcd/our-stories.html</a></span></li><li class="prezly-slate-list-item"><span class="prezly-slate-list-item-text">Disney - <a class="prezly-slate-link" href="https://thewaltdisneycompany.com/news/" target="_self">thewaltdisneycompany.com/news</a></span></li></ul><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">Only a few of those check all the boxes when it comes to design, content organisation and performance. But we haven&#x27;t even talked about performance, accessibility or privacy controls.</p><hr class="prezly-slate-divider"/><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit">I am looking for more examples of good looking Brand newsrooms. <a class="prezly-slate-link" href="https://airtable.com/shrG9ksbvQgHB9uGH" target="_self">Please help by suggesting your own in this form</a>.<br/>​</p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"><em>All research (Lighthouse scores, Design rating, Accessibility score) </em><a class="prezly-slate-link" href="https://airtable.com/shrgIsrPYzp7NT6mg/tblAecb7mJO1hIfZT" target="_self"><em>will be shared in this open spreadsheet.</em></a></p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p><p class="prezly-slate-paragraph prezly-slate-paragraph--align-inherit"> </p></section></div>]]></description><link>undefined/searching-for-the-perfect-newsroom</link><guid isPermaLink="true">undefined/searching-for-the-perfect-newsroom</guid><pubDate>Tue, 02 Mar 2021 21:19:00 GMT</pubDate></item></channel></rss>