<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Home on Kelvin&#39;s personal website</title>
    <link>https://kelvinjps.com/</link>
    <description>Recent content in Home on Kelvin&#39;s personal website</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language>
    <lastBuildDate>Fri, 10 Oct 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://kelvinjps.com/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Firefox is the best mobile browser</title>
      <link>https://kelvinjps.com/blog/firefox-best-mobile-browser/</link>
      <pubDate>Fri, 10 Oct 2025 00:00:00 +0000</pubDate>
      
      <guid>https://kelvinjps.com/blog/firefox-best-mobile-browser/</guid>
      <description>&lt;p&gt;Firefox is an open source, private browser, one of the few mainstream browsers that supports extensions on mobile (Android) as powerful as the desktop ones (A lot of extensions have been ported), with seamless sync and a customizable homepage.&lt;/p&gt;
&lt;h2 id=&#34;browser-extensions&#34;&gt;Browser Extensions&lt;/h2&gt;
&lt;p&gt;There are many extensions that have improved my browsing experience dramatically, by helping me fight the &lt;strong&gt;bloat&lt;/strong&gt; of modern web browsing. This is especially more important on mobile, where resources and screen space are more limited.&lt;/p&gt;
&lt;p&gt;
















  
  
  
  

  
    
    

    
    
    
    
    
    

    
    
    

    
    

    

    &lt;figure&gt;
      &lt;a href=&#34;https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_093117_Firefox_hu_d9ee2b611f2d7d9b.webp&#34;&gt;
        &lt;picture&gt;
          &lt;source media=&#34;(max-width: 899px)&#34;
                  srcset=&#34;https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_093117_Firefox_hu_ad94a088a1d4447a.webp 1x, https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_093117_Firefox_hu_ad51bdeef2990f11.webp 2x&#34;&gt;
          &lt;source media=&#34;(min-width: 900px)&#34;
                  srcset=&#34;https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_093117_Firefox_hu_a93fe4577f22f41b.webp 1x, https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_093117_Firefox_hu_9d0d18d33291ea4e.webp 2x&#34;&gt;
          &lt;img
            src=&#34;https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_093117_Firefox_hu_ad94a088a1d4447a.webp&#34;
            srcset=&#34;https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_093117_Firefox_hu_ad94a088a1d4447a.webp 1x, https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_093117_Firefox_hu_ad51bdeef2990f11.webp 2x&#34;
            alt=&#34;Firefox&amp;rsquo;s extension store for android&#34;
            loading=&#34;lazy&#34;
            decoding=&#34;async&#34;
            &gt;
        &lt;/picture&gt;
      &lt;/a&gt;
      &lt;figcaption&gt;Firefox&amp;rsquo;s extension store for android&lt;/figcaption&gt;
    &lt;/figure&gt;
  



&lt;/p&gt;
&lt;p&gt;The extension store is very similar to the desktop one. My browsing use case on my phone is to read articles, look up something quickly, buy things in online stores, or just see what people are saying online. When I do that, I don&amp;rsquo;t want to see ads, and I don&amp;rsquo;t want pop-ups taking up half of my screen.
No, I don&amp;rsquo;t want to download your &lt;strong&gt;app&lt;/strong&gt;,
&lt;em&gt;The website is fine&lt;/em&gt;; I don&amp;rsquo;t want to talk with your AI chat. I&amp;rsquo;m not interested in receiving fake notifications either. And I might have subscribed to your newsletter if you hadn&amp;rsquo;t put a pop-up while I was midway through reading your article.&lt;/p&gt;
&lt;p&gt;The following extensions have helped me in my fight against bloat and antipatterns on the web. Making my time on the web rather  a  pleasant experience&lt;/p&gt;
&lt;h2 id=&#34;block-ads-and-more-ublock&#34;&gt;Block ads and more (Ublock)&lt;/h2&gt;
&lt;p&gt;&lt;a href=&#34;https://addons.mozilla.org/en-US/firefox/addon/ublock-origin/&#34;&gt;Ublock&lt;/a&gt;  is the best ad blocker. Besides blocking ads, it also blocks other annoyances such as mobile banners, like those super annoying ones where they tell you to download their app instead of letting you use their website&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Amazon your app sucks and I won&amp;rsquo;t use it&lt;/strong&gt; 
















  
  
  
  

  
    
    
    &lt;figure&gt;
      &lt;a href=&#34;https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_121220_Firefox_1_hu_78816a4e4cfb863f.webp&#34;&gt;
        &lt;img
          src=&#34;https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_121220_Firefox_1_hu_78816a4e4cfb863f.webp&#34;
          alt=&#34;Amazon&amp;rsquo;s app pop-up&#34;
          loading=&#34;lazy&#34;
          decoding=&#34;async&#34;
          &gt;
      &lt;/a&gt;
      &lt;figcaption&gt;Amazon&amp;rsquo;s app pop-up&lt;/figcaption&gt;
    &lt;/figure&gt;
  



&lt;/p&gt;
&lt;h3 id=&#34;ublock-filter-lists&#34;&gt;Ublock filter lists&lt;/h3&gt;
&lt;p&gt;Here it&amp;rsquo;s my the filter list that I use that not only removes those install the app for the  &lt;em&gt;best experience&lt;/em&gt;. They also remove other annoyances like  chat widgets, newsletter notices, popups, cookie banners, etc.&lt;/p&gt;
&lt;p&gt;
















  
  
  
  

  
    
    

    
    
    
    
    
    

    
    
    

    
    

    

    &lt;figure&gt;
      &lt;a href=&#34;https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_094456_Firefox_hu_f3a63ae7bf7fa631.webp&#34;&gt;
        &lt;picture&gt;
          &lt;source media=&#34;(max-width: 899px)&#34;
                  srcset=&#34;https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_094456_Firefox_hu_519ffd2fa10dbe69.webp 1x, https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_094456_Firefox_hu_59702f3d49d403ac.webp 2x&#34;&gt;
          &lt;source media=&#34;(min-width: 900px)&#34;
                  srcset=&#34;https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_094456_Firefox_hu_eb2def07671aebaa.webp 1x, https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_094456_Firefox_hu_421694bf2b76b321.webp 2x&#34;&gt;
          &lt;img
            src=&#34;https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_094456_Firefox_hu_519ffd2fa10dbe69.webp&#34;
            srcset=&#34;https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_094456_Firefox_hu_519ffd2fa10dbe69.webp 1x, https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_094456_Firefox_hu_59702f3d49d403ac.webp 2x&#34;
            alt=&#34;Ublock filter lists&#34;
            loading=&#34;lazy&#34;
            decoding=&#34;async&#34;
            &gt;
        &lt;/picture&gt;
      &lt;/a&gt;
      &lt;figcaption&gt;Ublock filter lists&lt;/figcaption&gt;
    &lt;/figure&gt;
  



&lt;/p&gt;
&lt;p&gt;To activate it go to  the
extensions menus.
Press the  Ublock one and then press in
&lt;strong&gt;Open the dashboard&lt;/strong&gt;
And the go to the filter lists tab.&lt;/p&gt;
&lt;p&gt;There is the step by step tutorial with images

















  
  
  
  

  
    
    

    
    
    
    
    
    

    
    
    

    
    

    

    &lt;figure&gt;
      &lt;a href=&#34;https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_122151_Firefox_1_hu_5a94f63d9f859ae6.webp&#34;&gt;
        &lt;picture&gt;
          &lt;source media=&#34;(max-width: 899px)&#34;
                  srcset=&#34;https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_122151_Firefox_1_hu_24d64b7c0197621e.webp 1x, https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_122151_Firefox_1_hu_29b7a91285cdaeff.webp 2x&#34;&gt;
          &lt;source media=&#34;(min-width: 900px)&#34;
                  srcset=&#34;https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_122151_Firefox_1_hu_e284981f7f5a6a1a.webp 1x, https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_122151_Firefox_1_hu_5d7a5d016ad2a9c9.webp 2x&#34;&gt;
          &lt;img
            src=&#34;https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_122151_Firefox_1_hu_24d64b7c0197621e.webp&#34;
            srcset=&#34;https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_122151_Firefox_1_hu_24d64b7c0197621e.webp 1x, https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_122151_Firefox_1_hu_29b7a91285cdaeff.webp 2x&#34;
            alt=&#34;Ublock extension menu&#34;
            loading=&#34;lazy&#34;
            decoding=&#34;async&#34;
            &gt;
        &lt;/picture&gt;
      &lt;/a&gt;
      &lt;figcaption&gt;Ublock extension menu&lt;/figcaption&gt;
    &lt;/figure&gt;
  



&lt;/p&gt;
&lt;p&gt;
















  
  
  
  

  
    
    

    
    
    
    
    
    

    
    
    

    
    

    

    &lt;figure&gt;
      &lt;a href=&#34;https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_122155_Firefox_2_1_hu_529961e07d377127.webp&#34;&gt;
        &lt;picture&gt;
          &lt;source media=&#34;(max-width: 899px)&#34;
                  srcset=&#34;https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_122155_Firefox_2_1_hu_8120c504b09497cf.webp 1x, https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_122155_Firefox_2_1_hu_18ebb36189d8ac2d.webp 2x&#34;&gt;
          &lt;source media=&#34;(min-width: 900px)&#34;
                  srcset=&#34;https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_122155_Firefox_2_1_hu_a202a4b2bb5c7516.webp 1x, https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_122155_Firefox_2_1_hu_fcbb0fb1594ff734.webp 2x&#34;&gt;
          &lt;img
            src=&#34;https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_122155_Firefox_2_1_hu_8120c504b09497cf.webp&#34;
            srcset=&#34;https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_122155_Firefox_2_1_hu_8120c504b09497cf.webp 1x, https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_122155_Firefox_2_1_hu_18ebb36189d8ac2d.webp 2x&#34;
            alt=&#34;Open the dashboard&#34;
            loading=&#34;lazy&#34;
            decoding=&#34;async&#34;
            &gt;
        &lt;/picture&gt;
      &lt;/a&gt;
      &lt;figcaption&gt;Open the dashboard&lt;/figcaption&gt;
    &lt;/figure&gt;
  



&lt;/p&gt;
&lt;p&gt;
















  
  
  
  

  
    
    

    
    
    
    
    
    

    
    
    

    
    

    

    &lt;figure&gt;
      &lt;a href=&#34;https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_122720_Firefox_1_hu_898dae2a0a82b15a.webp&#34;&gt;
        &lt;picture&gt;
          &lt;source media=&#34;(max-width: 899px)&#34;
                  srcset=&#34;https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_122720_Firefox_1_hu_ab9e78c99c17c688.webp 1x, https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_122720_Firefox_1_hu_bcc6b98ea76353e5.webp 2x&#34;&gt;
          &lt;source media=&#34;(min-width: 900px)&#34;
                  srcset=&#34;https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_122720_Firefox_1_hu_52e6d29bfc85342d.webp 1x, https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_122720_Firefox_1_hu_af7bdb45fb237b98.webp 2x&#34;&gt;
          &lt;img
            src=&#34;https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_122720_Firefox_1_hu_ab9e78c99c17c688.webp&#34;
            srcset=&#34;https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_122720_Firefox_1_hu_ab9e78c99c17c688.webp 1x, https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_122720_Firefox_1_hu_bcc6b98ea76353e5.webp 2x&#34;
            alt=&#34;filter list menu select &#34;
            loading=&#34;lazy&#34;
            decoding=&#34;async&#34;
            &gt;
        &lt;/picture&gt;
      &lt;/a&gt;
      &lt;figcaption&gt;filter list menu select &lt;/figcaption&gt;
    &lt;/figure&gt;
  



&lt;/p&gt;
&lt;h3 id=&#34;i-hate-the-medium-ui-libredirect&#34;&gt;I hate the Medium UI (Libredirect)&lt;/h3&gt;
&lt;p&gt;So when you open a medium article you get the following delightful UX&lt;/p&gt;
&lt;p&gt;
















  
  
  
  

  
    
    

    
    
    
    
    
    

    
    
    

    
    

    

    &lt;figure&gt;
      &lt;a href=&#34;https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_123027_Firefox_1_hu_af89ce5d0756ed35.webp&#34;&gt;
        &lt;picture&gt;
          &lt;source media=&#34;(max-width: 899px)&#34;
                  srcset=&#34;https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_123027_Firefox_1_hu_26356c6cada57f90.webp 1x, https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_123027_Firefox_1_hu_775504faddc2535.webp 2x&#34;&gt;
          &lt;source media=&#34;(min-width: 900px)&#34;
                  srcset=&#34;https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_123027_Firefox_1_hu_1f44b36aa898266f.webp 1x, https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_123027_Firefox_1_hu_586751373aaaddc7.webp 2x&#34;&gt;
          &lt;img
            src=&#34;https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_123027_Firefox_1_hu_26356c6cada57f90.webp&#34;
            srcset=&#34;https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_123027_Firefox_1_hu_26356c6cada57f90.webp 1x, https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_123027_Firefox_1_hu_775504faddc2535.webp 2x&#34;
            alt=&#34;a Full screen pop-up to subscribe to medium&#34;
            loading=&#34;lazy&#34;
            decoding=&#34;async&#34;
            &gt;
        &lt;/picture&gt;
      &lt;/a&gt;
      &lt;figcaption&gt;a Full screen pop-up to subscribe to medium&lt;/figcaption&gt;
    &lt;/figure&gt;
  



&lt;/p&gt;
&lt;p&gt;And after you close it, they show you  bunch of annoying elements in the article&lt;/p&gt;
&lt;p&gt;
















  
  
  
  

  
    
    

    
    
    
    
    
    

    
    
    

    
    

    

    &lt;figure&gt;
      &lt;a href=&#34;https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_123031_Firefox_1_1_1_1_hu_cc4e96080505ba0b.webp&#34;&gt;
        &lt;picture&gt;
          &lt;source media=&#34;(max-width: 899px)&#34;
                  srcset=&#34;https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_123031_Firefox_1_1_1_1_hu_6479e0cd8305f899.webp 1x, https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_123031_Firefox_1_1_1_1_hu_f898a09705a0012b.webp 2x&#34;&gt;
          &lt;source media=&#34;(min-width: 900px)&#34;
                  srcset=&#34;https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_123031_Firefox_1_1_1_1_hu_7ac47957466c0cf.webp 1x, https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_123031_Firefox_1_1_1_1_hu_17793d956f34fc51.webp 2x&#34;&gt;
          &lt;img
            src=&#34;https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_123031_Firefox_1_1_1_1_hu_6479e0cd8305f899.webp&#34;
            srcset=&#34;https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_123031_Firefox_1_1_1_1_hu_6479e0cd8305f899.webp 1x, https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_123031_Firefox_1_1_1_1_hu_f898a09705a0012b.webp 2x&#34;
            alt=&#34;Medium main page with unnecessary elements&#34;
            loading=&#34;lazy&#34;
            decoding=&#34;async&#34;
            &gt;
        &lt;/picture&gt;
      &lt;/a&gt;
      &lt;figcaption&gt;Medium main page with unnecessary elements&lt;/figcaption&gt;
    &lt;/figure&gt;
  



&lt;/p&gt;
&lt;p&gt;Compare that with the beautiful experience you get with the Scribe front-end.&lt;/p&gt;
&lt;p&gt;
















  
  
  
  

  
    
    

    
    
    
    
    
    

    
    
    

    
    

    

    &lt;figure&gt;
      &lt;a href=&#34;https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_123740_Firefox_hu_efd78852967700a8.webp&#34;&gt;
        &lt;picture&gt;
          &lt;source media=&#34;(max-width: 899px)&#34;
                  srcset=&#34;https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_123740_Firefox_hu_6dbfaa352c1ce698.webp 1x, https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_123740_Firefox_hu_6407c1a5ce4c2ebb.webp 2x&#34;&gt;
          &lt;source media=&#34;(min-width: 900px)&#34;
                  srcset=&#34;https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_123740_Firefox_hu_baa969b68c3588ee.webp 1x, https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_123740_Firefox_hu_de95ad6ce14ad22.webp 2x&#34;&gt;
          &lt;img
            src=&#34;https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_123740_Firefox_hu_6dbfaa352c1ce698.webp&#34;
            srcset=&#34;https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_123740_Firefox_hu_6dbfaa352c1ce698.webp 1x, https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_123740_Firefox_hu_6407c1a5ce4c2ebb.webp 2x&#34;
            alt=&#34;Scribe frontend with just content&#34;
            loading=&#34;lazy&#34;
            decoding=&#34;async&#34;
            &gt;
        &lt;/picture&gt;
      &lt;/a&gt;
      &lt;figcaption&gt;Scribe frontend with just content&lt;/figcaption&gt;
    &lt;/figure&gt;
  



&lt;br&gt;
The extension that makes this possible is called &lt;a href=&#34;https://addons.mozilla.org/en-US/android/addon/libredirect/&#34;&gt;&lt;strong&gt;LibRedirect&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;x-i-want-to-see-the-comments&#34;&gt;X, I want to see the comments!&lt;/h3&gt;
&lt;p&gt;Twitter/x. won&amp;rsquo;t let you to see the comments unless you create an account&lt;/p&gt;
&lt;p&gt;
















  
  
  
  

  
    
    

    
    
    
    
    
    

    
    
    

    
    

    

    &lt;figure&gt;
      &lt;a href=&#34;https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_174048_Firefox_1_hu_f58312cab4b0e5e2.webp&#34;&gt;
        &lt;picture&gt;
          &lt;source media=&#34;(max-width: 899px)&#34;
                  srcset=&#34;https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_174048_Firefox_1_hu_1fb08ba3d6ad1dbe.webp 1x, https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_174048_Firefox_1_hu_73cd5e8f37e68afa.webp 2x&#34;&gt;
          &lt;source media=&#34;(min-width: 900px)&#34;
                  srcset=&#34;https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_174048_Firefox_1_hu_5d3f1b1c1948d362.webp 1x, https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_174048_Firefox_1_hu_fe4438881476bd1f.webp 2x&#34;&gt;
          &lt;img
            src=&#34;https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_174048_Firefox_1_hu_1fb08ba3d6ad1dbe.webp&#34;
            srcset=&#34;https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_174048_Firefox_1_hu_1fb08ba3d6ad1dbe.webp 1x, https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_174048_Firefox_1_hu_73cd5e8f37e68afa.webp 2x&#34;
            alt=&#34;Twitter page requiring log in to see the comments&#34;
            loading=&#34;lazy&#34;
            decoding=&#34;async&#34;
            &gt;
        &lt;/picture&gt;
      &lt;/a&gt;
      &lt;figcaption&gt;Twitter page requiring log in to see the comments&lt;/figcaption&gt;
    &lt;/figure&gt;
  




If you tap in read replies button you&amp;rsquo;ll be presented with a log in screen&lt;/p&gt;
&lt;p&gt;Compare with the nitter frontend also using LibRedirect  where you can actually see &lt;strong&gt;comments&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;
















  
  
  
  

  
    
    

    
    
    
    
    
    

    
    
    

    
    

    

    &lt;figure&gt;
      &lt;a href=&#34;https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_174021_Firefox_1_hu_72558a74e7649e9d.webp&#34;&gt;
        &lt;picture&gt;
          &lt;source media=&#34;(max-width: 899px)&#34;
                  srcset=&#34;https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_174021_Firefox_1_hu_242f5f6aef765824.webp 1x, https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_174021_Firefox_1_hu_de0b7b10477a599c.webp 2x&#34;&gt;
          &lt;source media=&#34;(min-width: 900px)&#34;
                  srcset=&#34;https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_174021_Firefox_1_hu_807c00cabd9378ba.webp 1x, https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_174021_Firefox_1_hu_fc52fa6626881c8e.webp 2x&#34;&gt;
          &lt;img
            src=&#34;https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_174021_Firefox_1_hu_242f5f6aef765824.webp&#34;
            srcset=&#34;https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_174021_Firefox_1_hu_242f5f6aef765824.webp 1x, https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_174021_Firefox_1_hu_de0b7b10477a599c.webp 2x&#34;
            alt=&#34;Nitter frontent showing comments&#34;
            loading=&#34;lazy&#34;
            decoding=&#34;async&#34;
            &gt;
        &lt;/picture&gt;
      &lt;/a&gt;
      &lt;figcaption&gt;Nitter frontent showing comments&lt;/figcaption&gt;
    &lt;/figure&gt;
  



&lt;/p&gt;
&lt;h3 id=&#34;dont-fuck-with-paste&#34;&gt;Don&amp;rsquo;t fuck with paste&lt;/h3&gt;
&lt;p&gt;This one is self-explanatory, but if you hate that some sites don&amp;rsquo;t let you paste as me, this is for you.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://addons.mozilla.org/en-US/firefox/addon/don-t-fuck-with-paste/?utm_source=addons.mozilla.org&amp;amp;utm_medium=referral&amp;amp;utm_content=search&#34;&gt;Don&amp;rsquo;t fuck with paste&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;can-i-just-listen-to-something-in-the-background&#34;&gt;Can I just listen to something in the background?&lt;/h3&gt;
&lt;p&gt;This extensions will allow you to fix issues in some sites where they don&amp;rsquo;t let you to play audio in the background&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://addons.mozilla.org/en-US/firefox/addon/video-background-play-fix/&#34;&gt;Video background play fix&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
















  
  
  
  

  
    
    

    
    
    
    
    
    

    
    
    

    
    

    

    &lt;figure&gt;
      &lt;a href=&#34;https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_175928_Firefox_1_hu_4c429c0756842564.webp&#34;&gt;
        &lt;picture&gt;
          &lt;source media=&#34;(max-width: 899px)&#34;
                  srcset=&#34;https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_175928_Firefox_1_hu_ec0af079a8f2645c.webp 1x, https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_175928_Firefox_1_hu_767033b3302874f3.webp 2x&#34;&gt;
          &lt;source media=&#34;(min-width: 900px)&#34;
                  srcset=&#34;https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_175928_Firefox_1_hu_dbbcd9cae7db9366.webp 1x, https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_175928_Firefox_1_hu_69d1acf0fdc29388.webp 2x&#34;&gt;
          &lt;img
            src=&#34;https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_175928_Firefox_1_hu_ec0af079a8f2645c.webp&#34;
            srcset=&#34;https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_175928_Firefox_1_hu_ec0af079a8f2645c.webp 1x, https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_175928_Firefox_1_hu_767033b3302874f3.webp 2x&#34;
            alt=&#34;Video background play fix store page&#34;
            loading=&#34;lazy&#34;
            decoding=&#34;async&#34;
            &gt;
        &lt;/picture&gt;
      &lt;/a&gt;
      &lt;figcaption&gt;Video background play fix store page&lt;/figcaption&gt;
    &lt;/figure&gt;
  



&lt;/p&gt;
&lt;h3 id=&#34;404-not-found&#34;&gt;404 Not found&lt;/h3&gt;
&lt;p&gt;
















  
  
  
  

  
    
    
    &lt;figure&gt;
      &lt;a href=&#34;https://kelvinjps.com/blog/firefox-best-mobile-browser/images/unnamed_hu_c7fc82dbb6c03361.webp&#34;&gt;
        &lt;img
          src=&#34;https://kelvinjps.com/blog/firefox-best-mobile-browser/images/unnamed_hu_c7fc82dbb6c03361.webp&#34;
          alt=&#34;404 not found&#34;
          loading=&#34;lazy&#34;
          decoding=&#34;async&#34;
          &gt;
      &lt;/a&gt;
      &lt;figcaption&gt;404 not found&lt;/figcaption&gt;
    &lt;/figure&gt;
  



&lt;/p&gt;
&lt;p&gt;When this happens, you want to look up for a tool that let&amp;rsquo;s you to check for an archived version.
Web archives let&amp;rsquo;s you to do exactly that&lt;/p&gt;
&lt;p&gt;It even let&amp;rsquo;s you to choose from multiple archive sites
&lt;a href=&#34;https://addons.mozilla.org/en-US/firefox/addon/view-page-archive/&#34;&gt;Web archives&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
















  
  
  
  

  
    
    

    
    
    
    
    
    

    
    
    

    
    

    

    &lt;figure&gt;
      &lt;a href=&#34;https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_180421_Firefox_3_1_hu_b2decb69678ea4e4.webp&#34;&gt;
        &lt;picture&gt;
          &lt;source media=&#34;(max-width: 899px)&#34;
                  srcset=&#34;https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_180421_Firefox_3_1_hu_d4a232e8ec8281e1.webp 1x, https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_180421_Firefox_3_1_hu_5dcd4c916522a292.webp 2x&#34;&gt;
          &lt;source media=&#34;(min-width: 900px)&#34;
                  srcset=&#34;https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_180421_Firefox_3_1_hu_b9f40600b18aefec.webp 1x, https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_180421_Firefox_3_1_hu_214a686db9f15808.webp 2x&#34;&gt;
          &lt;img
            src=&#34;https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_180421_Firefox_3_1_hu_d4a232e8ec8281e1.webp&#34;
            srcset=&#34;https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_180421_Firefox_3_1_hu_d4a232e8ec8281e1.webp 1x, https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20250803_180421_Firefox_3_1_hu_5dcd4c916522a292.webp 2x&#34;
            alt=&#34;Web archives archive site selection &#34;
            loading=&#34;lazy&#34;
            decoding=&#34;async&#34;
            &gt;
        &lt;/picture&gt;
      &lt;/a&gt;
      &lt;figcaption&gt;Web archives archive site selection &lt;/figcaption&gt;
    &lt;/figure&gt;
  



&lt;/p&gt;
&lt;h3 id=&#34;stop-wasting-time-on-the-web&#34;&gt;Stop wasting time on the web&lt;/h3&gt;
&lt;p&gt;Are you wasting time on the web?&lt;br&gt;
Install &lt;a href=&#34;https://addons.mozilla.org/en-US/firefox/addon/leechblock-ng/&#34;&gt;Lechblock&lt;/a&gt;
You can block websites, set time limits and more with Lechblock&lt;/p&gt;
&lt;h2 id=&#34;sync&#34;&gt;Sync&lt;/h2&gt;
&lt;p&gt;The other nice thing, about Firefox is that if you use Firefox on desktop, you can sync your data between your phone and your desktop easily, like bookmarks, addresses, passwords etc..
(I only sync bookmarks and tabs though )&lt;/p&gt;
&lt;p&gt;
















  
  
  
  

  
    
    
    &lt;figure&gt;
      &lt;a href=&#34;https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Pasted_image_20250816193149_hu_6ebc9ed5017d02bf.webp&#34;&gt;
        &lt;img
          src=&#34;https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Pasted_image_20250816193149_hu_6ebc9ed5017d02bf.webp&#34;
          alt=&#34;Desktop&amp;rsquo;s tabs&#34;
          loading=&#34;lazy&#34;
          decoding=&#34;async&#34;
          &gt;
      &lt;/a&gt;
      &lt;figcaption&gt;Desktop&amp;rsquo;s tabs&lt;/figcaption&gt;
    &lt;/figure&gt;
  




You can see the tabs opened on your desktop&lt;/p&gt;
&lt;p&gt;
















  
  
  
  

  
    
    
    &lt;figure&gt;
      &lt;a href=&#34;https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Pasted_image_20250816193413_hu_af0c47c080bce66b.webp&#34;&gt;
        &lt;img
          src=&#34;https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Pasted_image_20250816193413_hu_af0c47c080bce66b.webp&#34;
          alt=&#34;See mobile tabs opened on desktop&#34;
          loading=&#34;lazy&#34;
          decoding=&#34;async&#34;
          &gt;
      &lt;/a&gt;
      &lt;figcaption&gt;See mobile tabs opened on desktop&lt;/figcaption&gt;
    &lt;/figure&gt;
  



&lt;/p&gt;
&lt;p&gt;A useful feature is send to the  desktop Where you can send tabs for checking them later  on your computer.&lt;/p&gt;
&lt;p&gt;
















  
  
  
  

  
    
    
    &lt;figure&gt;
      &lt;a href=&#34;https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Pasted_image_20250816193554_hu_dfca13b3dbfc860c.webp&#34;&gt;
        &lt;img
          src=&#34;https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Pasted_image_20250816193554_hu_dfca13b3dbfc860c.webp&#34;
          alt=&#34;Send to desktop&#34;
          loading=&#34;lazy&#34;
          decoding=&#34;async&#34;
          &gt;
      &lt;/a&gt;
      &lt;figcaption&gt;Send to desktop&lt;/figcaption&gt;
    &lt;/figure&gt;
  



&lt;/p&gt;
&lt;h2 id=&#34;customize-homepage&#34;&gt;customize homepage&lt;/h2&gt;
&lt;p&gt;you can customize the home page to only leave what you want. I for example remove sponsored shortcuts and stories  from the page

















  
  
  
  

  
    
    

    
    
    
    
    
    

    
    
    

    
    

    

    &lt;figure&gt;
      &lt;a href=&#34;https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20251010_215341_Firefox_1_hu_9356cf3ee7af136f.webp&#34;&gt;
        &lt;picture&gt;
          &lt;source media=&#34;(max-width: 899px)&#34;
                  srcset=&#34;https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20251010_215341_Firefox_1_hu_3fa33ab6dedfcce3.webp 1x, https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20251010_215341_Firefox_1_hu_c95194193e19225a.webp 2x&#34;&gt;
          &lt;source media=&#34;(min-width: 900px)&#34;
                  srcset=&#34;https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20251010_215341_Firefox_1_hu_c69bb74e3270264d.webp 1x, https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20251010_215341_Firefox_1_hu_7bff92b4c5a7b653.webp 2x&#34;&gt;
          &lt;img
            src=&#34;https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20251010_215341_Firefox_1_hu_3fa33ab6dedfcce3.webp&#34;
            srcset=&#34;https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20251010_215341_Firefox_1_hu_3fa33ab6dedfcce3.webp 1x, https://kelvinjps.com/blog/firefox-best-mobile-browser/images/Screenshot_20251010_215341_Firefox_1_hu_c95194193e19225a.webp 2x&#34;
            alt=&#34;customize homepage&#34;
            loading=&#34;lazy&#34;
            decoding=&#34;async&#34;
            &gt;
        &lt;/picture&gt;
      &lt;/a&gt;
      &lt;figcaption&gt;customize homepage&lt;/figcaption&gt;
    &lt;/figure&gt;
  



&lt;/p&gt;
</description>
    </item>
    <item>
      <title>How to think in your target language</title>
      <link>https://kelvinjps.com/blog/how-to-think-in-your-target-language/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://kelvinjps.com/blog/how-to-think-in-your-target-language/</guid>
      <description>&lt;p&gt;Most language learners often wonder how to start thinking in their target language. In this article, I&amp;rsquo;ll show you a set of strategies that will allow you to start from a basic level to progressively develop your ability to produce thoughts in your target language, therefore develop your &lt;strong&gt;writing&lt;/strong&gt; and &lt;strong&gt;speaking&lt;/strong&gt; abilities.&lt;/p&gt;
&lt;h2 id=&#34;start--writing&#34;&gt;Start  writing&lt;/h2&gt;
&lt;h3 id=&#34;why&#34;&gt;Why?&lt;/h3&gt;
&lt;p&gt;If you start speaking, you not only need to think about what you want to say, but you also have to think about how to pronounce it correctly.
However, when you&amp;rsquo;re writing instead of speaking, you have time to think about what you want to say, you can look up words, recall words or phrases from content that you watched, etc.
But this won&amp;rsquo;t be the usual writing that you&amp;rsquo;re used to  in school, where you write or copy textbook exercises; this type of writing requires you to write your own thoughts, but you might say:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;If I don&amp;rsquo;t know how to &amp;ldquo;think&amp;rdquo; in my target language, how am I supposed to write my thoughts in it?&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;It&amp;rsquo;s true that there isn&amp;rsquo;t much that you can write about at the beginning, but you should still be able to have some basic thoughts by doing &lt;strong&gt;immersion&lt;/strong&gt; in your target language.&lt;/p&gt;
&lt;h3 id=&#34;what-is-immersion&#34;&gt;What is immersion?&lt;/h3&gt;
&lt;p&gt;Language Immersion is when you consume content in your target language. It could be TV shows, movies, videos, books, articles, or even just having conversations with native speakers, as long as you&amp;rsquo;re consuming real content that you can at least somewhat understand.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The input hypothesis&lt;/strong&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;This states that learners progress in their knowledge of the language when they comprehend language input that is slightly more advanced than their current level. Krashen called this level of input &amp;ldquo;i+1&amp;rdquo;, where &amp;ldquo;i&amp;rdquo; is the learner&amp;rsquo;s interlanguage and &amp;ldquo;+1&amp;rdquo; is the next stage of language acquisition.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;It&amp;rsquo;s basically the previous step, before trying the strategies I&amp;rsquo;ll present. Still, you can start applying the strategies as you keep immersing in the language.
The thing is that immersion alone will not suffice. You won&amp;rsquo;t be able to produce developed thoughts to have a conversation. You need to train the muscle to form ideas in your target language. The following strategies have helped me to do exactly that, and I hope they help you too.&lt;/p&gt;
&lt;h3 id=&#34;to-do-lists&#34;&gt;To-do lists&lt;/h3&gt;
&lt;p&gt;A simple writing format is a To-do list.
For example:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;English&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; buy food&lt;/li&gt;
&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; do laundry&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Spanish&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; Comprar comida&lt;/li&gt;
&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; Lavar la ropa&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;French&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; Acheter de la nourriture&lt;/li&gt;
&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; Faire la lessive&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;When you write to-do lists, you basically speak in the present tense, and that&amp;rsquo;s the simplest tense to use in most languages. Also, you can use basic vocab, and the structure is also simple to follow. As a bonus, you&amp;rsquo;ll always have things to do, so it&amp;rsquo;s easy to do it consistently every day, and &lt;strong&gt;consistency&lt;/strong&gt; is the most important thing for developing your thinking in your second language.&lt;/p&gt;
&lt;h3 id=&#34;continuing-from-the-immersions-wordssentences&#34;&gt;Continuing from the immersion&amp;rsquo;s words/sentences.&lt;/h3&gt;
&lt;p&gt;This is also a simple one: take a sentence or word that you read/listened to from a piece of content in your target language, and try to continue to form sentences using that word or sentence.
For example, you might learn the word &amp;ldquo;Dégoûtant&amp;rdquo; in French, which means disgusting.
And you can form the following sentence: &amp;ldquo;La nourriture dans ce restaurant était dégoûtante&amp;rdquo;. &amp;ldquo;The food in that restaurant was disgusting.&amp;rdquo;
It might not be the best example (I just came up with it), but the point is to take words from the content that you watch and form your own sentences, and that way it&amp;rsquo;s easier than starting from scratch.&lt;/p&gt;
&lt;h3 id=&#34;making-reviews&#34;&gt;Making reviews&lt;/h3&gt;
&lt;p&gt;After you watched a video, movie, TV show, book, or whatever, write about what you think about it, what made you feel, or just summarize it. If your vocabulary and skills are not that advanced, just try to summarize what you watched, read, or listened to.&lt;/p&gt;
&lt;p&gt;Below is an example that  I did with the French TV show Standing Up&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Drôle série sur Netflix&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;La série parle de comédiens qui essaient de progresser dans leur carrière et de tous les problèmes qu&amp;rsquo;ils rencontrent dans leur quotidien.
Je l&amp;rsquo;ai beaucoup aimée parce que j&amp;rsquo;ai trouvé l&amp;rsquo;histoire des personnages principaux très amusante.&lt;/p&gt;
&lt;p&gt;I want to add to this strategy, to post comments in whatever platform that let&amp;rsquo;s you do it, like in youtube, in social media, in platforms like Webtoon anytime that you have the opportunity to share your thoughts in your target language about what do you thing about something that you like or disklike, take the opportunity and interact with the community in that language.&lt;/p&gt;
&lt;h3 id=&#34;keeping-a-journal&#34;&gt;keeping a journal&lt;/h3&gt;
&lt;p&gt;Keeping a journal is another effective way to practice your thinking, as when you speak with another person, they usually ask you about your day, your plans,  like what you did today, and that kind of stuff. Finally, you can keep a daily journal, so you have the consistency part down with this strategy, too.&lt;/p&gt;
&lt;p&gt;For example, an entry from a journal that I used to keep in French, called le midi journal (Because I used to always write at noon)&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;le série drôle c&amp;rsquo;est pas renouveler, c&amp;rsquo;est dommage, c&amp;rsquo;est la merde en fait.
aujourd&amp;rsquo;hui j&amp;rsquo;ai commencé à nouvelle série appelée le 7 vies de Lea.
aujourd&amp;rsquo;hui mon père parti de venezuela pour arriver ici.
c&amp;rsquo;est tout à demain&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;It has many errors, but the point is to keep writing, check your mistakes, and keep improving every day.&lt;/p&gt;
&lt;h3 id=&#34;content-creation-in-your-target-language&#34;&gt;Content creation in your target language&lt;/h3&gt;
&lt;p&gt;You can do a blog/newsletter for writing or something like a youtube channel and similar for speaking, basically what I&amp;rsquo;m doing with this post, the purpose is to share with others your thoughts, doing this will help you to refine your ideas, and doing content for others to see, will make you to want to maintain a higher quality that just for yourself.&lt;/p&gt;
</description>
    </item></channel>
</rss>
