<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>farooqkz</title>
    <link>https://blog.bananahackers.net/farooqkz/</link>
    <description>Farooq&#39;s KaiOS related experiences started with a hackable banana</description>
    <pubDate>Fri, 15 May 2026 15:14:16 +0200</pubDate>
    <item>
      <title>Saying goodbye to KaiOS and to chooj</title>
      <link>https://blog.bananahackers.net/farooqkz/saying-goodbye-to-kaios-and-to-chooj</link>
      <description>&lt;![CDATA[If you are following KaiOS and BananaHackers, you probably have noticed that not much is happening. I have written a post about state of KaiOS in 2023. Back then, there was still pinpricks of hope in me. Now it&#39;s all gone.&#xA;&#xA;Smart feature phone was a very good idea. And so was KaiOS. But they didn&#39;t well play the game. So they lost. I&#39;m not gonna go through the reasons why it failed. However, I sure have technical criticisms from user and developer point of view. I do wish it succeeded. But not all wishes would be granted.&#xA;&#xA;KaiOS is dead in the global market. However, it has still has some presence in the US and some parts of Africa. WhatsApp withdrawing from KaiOS makes the situation even worse for them. It seems they are slowly sinking in the water. Maybe water is already over their head.&#xA;&#xA;If KaiOS had a global presence, a Matrix client like chooj had the potential to make a major influence for KaiOS. As you could use beeper&#39;s software to connect to various Messaging platforms all from Matrix. This means you could have WhatsApp, Telegram, and tons of other IMs right in your KaiOS device. It could be a game changer.&#xA;&#xA;I imported a Nokia 2780 Flip. Affe Null made contributions to make it hackable. But my main motivation for writing apps for KaiOS, is the fact that it was my daily driver. That I was the first user of the apps. Now without global devices, I don&#39;t have a KaiOS phone as a daily driver. So no motivation to write KaiOS apps.&#xA;&#xA;Another problem with newer KaiOS devices is that you can&#39;t simply enable debugging on them and sideload apps, to then use them as development devices. That was another major problem for us. However, enthusiasm made us find ways to hack the devices, find hidden codes, root them and finally write apps. Now there is no device to hack, anymore.&#xA;&#xA;I&#39;m afraid when there is no KaiOS, there is also no Matrix client for KaiOS. So I&#39;m archiving the chooj repositories today. And I won&#39;t renew the domain any longer. If anyone would like to continue chooj, I would be happy to help them and to tell them about internals of the app. You don&#39;t know how much do I hate to let chooj go. I humbly thank people who donated, people who tested and people who encouraged me.&#xA;&#xA;You might be interested in my other &#34;wares&#34;. In that case, here are some links to various places I have presence:&#xA;&#xA; My English blog&#xA; My Persian blog&#xA; Mastodon&#xA; Codeberg&#xA; Github]]&gt;</description>
      <content:encoded><![CDATA[<p>If you are following KaiOS and BananaHackers, you probably have noticed that not much is happening. I have written <a href="https://blog.bananahackers.net/farooqkz/on-the-state-of-kaios-and-bananahackers-community-as-of-summer-of-2023" rel="nofollow">a post</a> about state of KaiOS in 2023. Back then, there was still pinpricks of hope in me. Now it&#39;s all gone.</p>

<p>Smart feature phone was a very good idea. And so was KaiOS. But they didn&#39;t well play the game. So they lost. I&#39;m not gonna go through the reasons why it failed. However, I sure have technical criticisms from user and developer point of view. I do wish it succeeded. But not all wishes would be granted.</p>

<p>KaiOS is dead in the global market. However, it has still has some presence in the US and some parts of Africa. WhatsApp withdrawing from KaiOS makes the situation even worse for them. It seems they are slowly sinking in the water. Maybe water is already over their head.</p>

<p>If KaiOS had a global presence, a Matrix client like chooj had the potential to make a major influence for KaiOS. As you could use beeper&#39;s software to connect to various Messaging platforms all from Matrix. This means you could have WhatsApp, Telegram, and tons of other IMs right in your KaiOS device. It could be a game changer.</p>

<p>I imported a Nokia 2780 Flip. Affe Null made <a href="https://blog.bananahackers.net/farooqkz/you-can-sideload-on-nokia-2780-flip-thanks-to-affe-null" rel="nofollow">contributions</a> to make it hackable. But my main motivation for writing apps for KaiOS, is the fact that it was my daily driver. That I was the first user of the apps. Now without global devices, I don&#39;t have a KaiOS phone as a daily driver. So no motivation to write KaiOS apps.</p>

<p>Another problem with newer KaiOS devices is that you can&#39;t simply enable debugging on them and sideload apps, to then use them as development devices. That was another major problem for us. However, enthusiasm made us find ways to hack the devices, find hidden codes, root them and finally write apps. Now there is no device to hack, anymore.</p>

<p>I&#39;m afraid when there is no KaiOS, there is also no Matrix client for KaiOS. So I&#39;m archiving the chooj repositories today. And I won&#39;t renew the domain any longer. If anyone would like to continue chooj, I would be happy to help them and to tell them about internals of the app. You don&#39;t know how much do I hate to let chooj go. I humbly thank people who donated, people who tested and people who encouraged me.</p>

<p>You might be interested in my other “wares”. In that case, here are some links to various places I have presence:</p>
<ul><li><a href="https://far.chickenkiller.com" rel="nofollow">My English blog</a></li>
<li><a href="https://blogfa.farooqkz.com" rel="nofollow">My Persian blog</a></li>
<li><a href="https://cr8r.gg/@farooqkz" rel="nofollow">Mastodon</a></li>
<li><a href="https://codeberg.org/farooqkz" rel="nofollow">Codeberg</a></li>
<li><a href="https://github.com/farooqkz" rel="nofollow">Github</a></li></ul>
]]></content:encoded>
      <guid>https://blog.bananahackers.net/farooqkz/saying-goodbye-to-kaios-and-to-chooj</guid>
      <pubDate>Sun, 03 Aug 2025 09:54:02 +0200</pubDate>
    </item>
    <item>
      <title>The BananaHackers wiki now works on KaiOS!</title>
      <link>https://blog.bananahackers.net/farooqkz/the-bananahackers-wiki-now-works-on-kaios</link>
      <description>&lt;![CDATA[TL;DR; Thanks to one of brilliant community members, Cyan, our wiki now renders on KaiOS and is usable there. This is possible by integrating a custom Javascript and the script does not run if the browser is not a KaiOS browser.&#xA;&#xA;Why it was not working on KaiOS browser?&#xA;&#xA;The currently widespread version of KaiOS, version 2.x, is based on an ancient version of Gecko. Gecko is the browser engine used by Firefox and the version KaiOS uses, doesn&#39;t support newer technologies and standards.&#xA;&#xA;The wiki software we use, wiki.js, uses the new technologies to render the content. Thus, it doesn&#39;t render on KaiOS 2.x which is using an ancient browser engine. However, this is not a problem on KaiOS 3.x which is based on the modern engine. But unfortunately, this new version of KaiOS is not widespread globally, yet. And most users have got devices which run the older version.&#xA;&#xA;What has changed now?&#xA;&#xA;Cyan has written a script which we&#39;ve integrated with our wiki using the custom HTML feature. This script first checks if the target browser is a KaiOS one. If it isn&#39;t, it won&#39;t do anything. But if it is KaiOS, it&#39;ll try to render the content of the wiki pages so that visitors from KaiOS can see the content.&#xA;&#xA;Does it affect efficiency and performance of the wiki?&#xA;&#xA;Yes. But the affected performance is very trivial. The script is less than 10 KiBs minified. And if the browser is not KaiOS, only a simple check is extra there.&#xA;&#xA;It is not perfect, yet.&#xA;&#xA;Cyan has done great job. I am very grateful. However, it might be that in some cases, like edge cases, the script won&#39;t work and render things properly. Feel free to contact Cyan to improve the script. He is available on our community chatrooms accessible from Matrix and Discord.]]&gt;</description>
      <content:encoded><![CDATA[<p>TL;DR; Thanks to one of brilliant community members, <a href="https://github.com/cyan-2048/" rel="nofollow">Cyan</a>, <a href="https://wiki.bananahackers.net" rel="nofollow">our wiki</a> now renders on KaiOS and is usable there. This is possible by integrating <a href="https://gist.github.com/cyan-2048/e3af95a89130320346cd34dbd73cc84a" rel="nofollow">a custom Javascript</a> and the script does not run if the browser is not a KaiOS browser.</p>

<h2 id="why-it-was-not-working-on-kaios-browser" id="why-it-was-not-working-on-kaios-browser">Why it was not working on KaiOS browser?</h2>

<p>The currently widespread version of KaiOS, version 2.x, is based on an ancient version of Gecko. Gecko is the browser engine used by Firefox and the version KaiOS uses, doesn&#39;t support newer technologies and standards.</p>

<p>The wiki software we use, <a href="https://js.wiki" rel="nofollow">wiki.js</a>, uses the new technologies to render the content. Thus, it doesn&#39;t render on KaiOS 2.x which is using an ancient browser engine. However, this is not a problem on KaiOS 3.x which is based on the modern engine. But unfortunately, this new version of KaiOS is not widespread globally, yet. And most users have got devices which run the older version.</p>

<h2 id="what-has-changed-now" id="what-has-changed-now">What has changed now?</h2>

<p>Cyan has written a script which we&#39;ve integrated with our wiki using the custom HTML feature. This script first checks if the target browser is a KaiOS one. If it isn&#39;t, it won&#39;t do anything. But if it is KaiOS, it&#39;ll try to render the content of the wiki pages so that visitors from KaiOS can see the content.</p>

<h2 id="does-it-affect-efficiency-and-performance-of-the-wiki" id="does-it-affect-efficiency-and-performance-of-the-wiki">Does it affect efficiency and performance of the wiki?</h2>

<p>Yes. But the affected performance is very trivial. The script is less than 10 KiBs minified. And if the browser is not KaiOS, only a simple check is extra there.</p>

<h2 id="it-is-not-perfect-yet" id="it-is-not-perfect-yet">It is not perfect, yet.</h2>

<p>Cyan has done great job. I am very grateful. However, it might be that in some cases, like edge cases, the script won&#39;t work and render things properly. Feel free to contact Cyan to improve the script. He is available on our community chatrooms accessible from <a href="https://matrix.to/#/%23bananahackers:mozilla.org" rel="nofollow">Matrix</a> and <a href="https://discord.gg/rQ93zEu" rel="nofollow">Discord</a>.</p>
]]></content:encoded>
      <guid>https://blog.bananahackers.net/farooqkz/the-bananahackers-wiki-now-works-on-kaios</guid>
      <pubDate>Tue, 19 Sep 2023 13:01:35 +0200</pubDate>
    </item>
    <item>
      <title>You can sideload on Nokia 2780 Flip thanks to Affe Null</title>
      <link>https://blog.bananahackers.net/farooqkz/you-can-sideload-on-nokia-2780-flip-thanks-to-affe-null</link>
      <description>&lt;![CDATA[Affe Null card&#xA;&#xA;#linux #kaios #bananahackers #bananahacker #pmOS #nokia2780 #hack #kaios3 #firefoxos&#xA;&#xA;It has been a while since 2780 is out. Most BananaHackers have been waiting a long time to get their hand on a KaiOS 3.x device and Nokia 2780 is the first one released which is not carrier-locked. Many other community members, like Luxferre seem to prefer waiting till a global 3.x device gets released. This 3.x flip phone is not global but because it&#39;s not carrier locked, one could import them from third party stores like Amazon.&#xA;&#xA;I haven&#39;t got my hand on a 2780, yet. But according to Affe, no code worked on Nokia 2780 Flip to enable debugging like other Nokia models such as the BananaPhone. And using W2D does not enable ADB. It&#39;s very unfortunate. But like most other hackers in the world, Affe was not willing to give up till he gets what he wanted and now we have the weeknd Toolbox created by him.&#xA;&#xA;!--more--&#xA;&#xA;This toolbox enables users to modify the internal storage of 2780. This let&#39;s us side-load third-party apps outside KaiStore as well as modifying the pre-installed System and obviously, the stock apps among them.&#xA;&#xA;Remember that debugging is not yet possible on 2780. And side-loading the apps is not done through the debugging protocol of B2G like the other phones. Thus, this phone is not suitable for app development purposes, yet. Unless, of course, you are willing to do some device hacks to make it so.&#xA;&#xA;If you want to learn more about 2780 and the technical story behind the hack, you can read the wiki page dedicated to this phone on BananaHackers wiki.]]&gt;</description>
      <content:encoded><![CDATA[<p><img src="https://farooqkz.de1.hashbang.sh/storage/download?name=affe.png" alt="Affe Null card"></p>

<p><a href="/farooqkz/tag:linux" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">linux</span></a> <a href="/farooqkz/tag:kaios" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">kaios</span></a> <a href="/farooqkz/tag:bananahackers" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">bananahackers</span></a> <a href="/farooqkz/tag:bananahacker" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">bananahacker</span></a> <a href="/farooqkz/tag:pmOS" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">pmOS</span></a> <a href="/farooqkz/tag:nokia2780" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">nokia2780</span></a> <a href="/farooqkz/tag:hack" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">hack</span></a> <a href="/farooqkz/tag:kaios3" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">kaios3</span></a> <a href="/farooqkz/tag:firefoxos" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">firefoxos</span></a></p>

<p>It has been a while since 2780 is out. Most BananaHackers have been waiting a long time to get their hand on a KaiOS 3.x device and Nokia 2780 is the first one released which is not carrier-locked. Many other community members, like <a href="https://gitlab.com/suborg" rel="nofollow">Luxferre</a> seem to prefer waiting till a global 3.x device gets released. This 3.x flip phone is not global but because it&#39;s not carrier locked, one could import them from third party stores like Amazon.</p>

<p>I haven&#39;t got my hand on a 2780, yet. But according to Affe, no code worked on Nokia 2780 Flip to enable debugging like other Nokia models such as <a href="https://wiki.bananahackers.net/en/devices/nokia-8110-4g" rel="nofollow">the BananaPhone</a>. And using <a href="https://w2d.bananahackers.net" rel="nofollow">W2D</a> does not enable ADB. It&#39;s very unfortunate. But like most other hackers in the world, Affe was not willing to give up till he gets what he wanted and now we have the <a href="https://git.abscue.de/affe_null/weeknd-toolbox/" rel="nofollow">weeknd Toolbox</a> created by him.</p>



<p>This toolbox enables users to modify the internal storage of 2780. This let&#39;s us side-load third-party apps <em>outside KaiStore</em> as well as modifying the pre-installed System and obviously, the stock apps among them.</p>

<p><strong>Remember that debugging is not yet possible on 2780. And side-loading the apps is not done through the debugging protocol of B2G like the other phones. Thus, this phone is not suitable for app development purposes, yet. Unless, of course, you are willing to do some device hacks to make it so.</strong></p>

<p>If you want to learn more about 2780 and the technical story behind the hack, you can read <a href="https://wiki.bananahackers.net/en/devices/nokia-2780-flip" rel="nofollow">the wiki page dedicated to this phone on BananaHackers wiki</a>.</p>
]]></content:encoded>
      <guid>https://blog.bananahackers.net/farooqkz/you-can-sideload-on-nokia-2780-flip-thanks-to-affe-null</guid>
      <pubDate>Fri, 19 May 2023 11:57:22 +0200</pubDate>
    </item>
    <item>
      <title>On the state of KaiOS and BananaHackers community as of summer of 2023</title>
      <link>https://blog.bananahackers.net/farooqkz/on-the-state-of-kaios-and-bananahackers-community-as-of-summer-of-2023</link>
      <description>&lt;![CDATA[#kaios #bananahackers #hacker #hacking #featurephonedevelopment #featurephone #notandroid&#xA;&#xA;A few years ago, Luxferre founded the BananaHackers community to hack KaiOS, the web based mobile OS, and to develop for this platform. I joined this community after I got my BananaPhone. The famous 8110 which has a yellow colour and is curved. I remember I was exactly looking for the yellow version of the phone and it was very exciting.&#xA;&#xA;I remember when I wanted to get my 8110 back in 2017, there were just around 100 apps in KaiStore or maybe even less. The community was young and so was KaiOS. I think my first app for KaiOS was VM-IRC which the VM part was standing for Very Minimalistic. Later when I joined the community chatrooms which back then were hosted on r/KaiOS Discord guild. I found the community welcoming and very active. We had Uncle Ivan(or Ivan Alex HC) among us who was not a developer but had spirit of a tinkerer. You might know his Youtube channel. We also had many other members which you can find a list, hopefully complete, in the credits page of our wiki.&#xA;&#xA;!--more--&#xA;&#xA;I was honored to become a trusted member of the community and later a council member. The council is the heart of the community and we have very old members there who are still active. We also had many members there who are no longer around, unfortunately.&#xA;&#xA;In 2018, the partnership of KaiOS and Mozilla was announced to bring modern and performant web for KaiOS. Almost everyone of us were waiting for KaiOS 3.0 which was based on the new Gecko rather the ancient one used in Firefox 48. There are so many advantages in this upgrade. Including but not limited to support of WebAssembly, newer WebGL, much better performance in rendering and new web APIs. We were looking forward to the new KaiOS and hoping it to be still debug-enabled and available worldwide.&#xA;&#xA;But now, in 2023, this mobile Operating System seems to be on the verge of death. Not only KaiOS 3.0 is out but also KaiOS 3.1 is also out. But there is no device which is available worldwide. Only few carrier-locked devices for North America. Nevertheless, there is Nokia 2780 Flip which is not carrier locked. And one can buy from online shops like Amazon almost anywhere in the world. But first, this phone will cost one around 140 bucks to get into their hand. Second and more important, this device is not debug enabled and thus it cannot be used for app development purposes in a convenient way.&#xA;&#xA;Many &#34;council&#34; members have lost interest in developing for KaiOS. Many have not and believe this OS will live on and cover a minority of the market. Both opinions seem reasonable and we&#39;ll have to wait to see what will happen.&#xA;&#xA;I&#39;ve already considered an alternative mobile OS. I have two main requirements: First and most important, I must be able to easily hack the OS and write apps for it. Unfortunately, not Android nor iOS are not my answer. Developing an Android app requires you to have huge resources on your PC. And its ecosystem is hard to hack. Compiling Android itself takes ages and a regular PC. iOS on the other hand is even worse. To develop for iOS you need a MacBook and a developer licence from Apple. The second requirement is that I don&#39;t want my phone to be only a display which is boring and the outside view of most smartphones these days.&#xA;&#xA;I haven&#39;t decided, yet. But postmarketOS looks very promising. There is already good support of hardware features in 8000 4G) and 2720 Flip). There is a possibility to port the new Gecko to pmOS to bring the new KaiOS to the older phones. However, this is not easy, simple nor trivial.&#xA;&#xA;One of members, mostly known as Affe Null, had developed their own ecosystem for KaiOS phones, mainly 8110 at that time. He had ported Debian to 8110 and also developed many apps for it including a graphical shell. Later, he moved to pmOS which seems a reasonable move.]]&gt;</description>
      <content:encoded><![CDATA[<p><a href="/farooqkz/tag:kaios" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">kaios</span></a> <a href="/farooqkz/tag:bananahackers" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">bananahackers</span></a> <a href="/farooqkz/tag:hacker" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">hacker</span></a> <a href="/farooqkz/tag:hacking" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">hacking</span></a> <a href="/farooqkz/tag:featurephonedevelopment" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">featurephonedevelopment</span></a> <a href="/farooqkz/tag:featurephone" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">featurephone</span></a> <a href="/farooqkz/tag:notandroid" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">notandroid</span></a></p>

<p>A few years ago, <a href="http://gitlab.com/suborg" rel="nofollow">Luxferre</a> founded the BananaHackers community to hack KaiOS, the web based mobile OS, and to develop for this platform. I joined this community after I got my BananaPhone. The famous 8110 which has a yellow colour and is curved. I remember I was exactly looking for the yellow version of the phone and it was very exciting.</p>

<p>I remember when I wanted to get my 8110 back in 2017, there were just around 100 apps in KaiStore or maybe even less. The community was young and so was KaiOS. I think my first app for KaiOS was <a href="https://notabug.org/bananaphone/VM-IRC" rel="nofollow">VM-IRC</a> which the VM part was standing for Very Minimalistic. Later when I joined the community chatrooms which back then were hosted on <code>r/KaiOS</code> Discord guild. I found the community welcoming and very active. We had Uncle Ivan(or Ivan Alex HC) among us who was not a developer but had spirit of a tinkerer. You might know <a href="https://www.youtube.com/@BananaHackers" rel="nofollow">his Youtube channel</a>. We also had many other members which you can find a list, hopefully complete, in the credits page of <a href="https://wiki.bananahackers.net/en/Credits" rel="nofollow">our wiki</a>.</p>



<p>I was honored to become a trusted member of the community and later a council member. The council is the heart of the community and we have very old members there who are still active. We also had many members there who are no longer around, unfortunately.</p>

<p>In 2018, the partnership of KaiOS and Mozilla was announced to bring modern and performant web for KaiOS. Almost everyone of us were waiting for KaiOS 3.0 which was based on the new Gecko rather the ancient one used in Firefox 48. There are so many advantages in this upgrade. Including but not limited to support of WebAssembly, newer WebGL, much better performance in rendering and new web APIs. We were looking forward to the new KaiOS and hoping it to be still debug-enabled and available worldwide.</p>

<p>But now, in 2023, this mobile Operating System seems to be on the verge of death. Not only KaiOS 3.0 is out but also KaiOS 3.1 is also out. But there is no device which is available worldwide. Only few carrier-locked devices for North America. Nevertheless, there is <a href="https://wiki.bananahackers.net/en/devices/nokia-2780-flip" rel="nofollow">Nokia 2780 Flip</a> which is not carrier locked. And one can buy from online shops like Amazon almost anywhere in the world. But first, this phone will cost one around 140 bucks to get into their hand. Second and more important, this device is not debug enabled and thus it cannot be used for app development purposes in a convenient way.</p>

<p>Many “council” members have lost interest in developing for KaiOS. Many have not and believe this OS will live on and cover a minority of the market. Both opinions seem reasonable and we&#39;ll have to wait to see what will happen.</p>

<p>I&#39;ve already considered an alternative mobile OS. I have two main requirements: First and most important, I must be able to easily hack the OS and write apps for it. Unfortunately, not Android nor iOS are not my answer. Developing an Android app requires you to have huge resources on your PC. And its ecosystem is hard to hack. Compiling Android itself takes ages and a regular PC. iOS on the other hand is even worse. To develop for iOS you need a MacBook and a developer licence from Apple. The second requirement is that I don&#39;t want my phone to be only a display which is boring and the outside view of most smartphones these days.</p>

<p>I haven&#39;t decided, yet. But <a href="https://postmarketos.org" rel="nofollow">postmarketOS</a> looks very promising. There is already good support of hardware features in <a href="https://wiki.postmarketos.org/wiki/Nokia_8000_4G_(nokia-sparkler)" rel="nofollow">8000 4G</a> and <a href="https://wiki.postmarketos.org/wiki/Nokia_2720_Flip_(nokia-beatles)" rel="nofollow">2720 Flip</a>. There is a possibility to port <a href="https://github.com/kaiostech/gecko-b2g" rel="nofollow">the new Gecko</a> to pmOS to bring the new KaiOS to the older phones. However, this is not easy, simple nor trivial.</p>

<p>One of members, mostly known as Affe Null, had developed their own ecosystem for KaiOS phones, mainly 8110 at that time. He had ported Debian to 8110 and also developed many apps for it including a <a href="https://git.abscue.de/obp/bananui/bananui" rel="nofollow">graphical shell</a>. Later, he moved to pmOS which seems a reasonable move.</p>
]]></content:encoded>
      <guid>https://blog.bananahackers.net/farooqkz/on-the-state-of-kaios-and-bananahackers-community-as-of-summer-of-2023</guid>
      <pubDate>Fri, 21 Apr 2023 20:38:33 +0200</pubDate>
    </item>
    <item>
      <title>chooj is back into the game!</title>
      <link>https://blog.bananahackers.net/farooqkz/chooj-is-back-into-the-game</link>
      <description>&lt;![CDATA[#chooj #matrix #matrixorg #chat #chatapp #chatclient #foss #kaios&#xA;&#xA;After a long period of no progress, I&#39;ve got time to work on chooj, the Matrix client for KaiOS, again! The progress is slow and constant funding is needed so that project will reach stable status within a reasonable period.&#xA;&#xA;!--more--&#xA;&#xA;What&#39;s new?&#xA;&#xA;From user point of view&#xA;&#xA;Because many security flaws were found in one of dependency libraries of chooj, matrix-js-sdk, I had to tell everyone to stop using chooj. The most important change is that with upgrade of this dependency, chooj is usable again.&#xA;&#xA;There are many small features which have been added. Most importantly, there is a much better and more friendly login progress, you can save pictures to gallery,  log out from chooj(In past the only option was uninstalling chooj and logging out from another client), and join rooms by entering room&#39;s alias(name) or id . Many bugs have been fixed and probably many new ones have been introduced. Finally, I&#39;ve added partial support for checking presence of your contacts. Please check if this feature works with your homeserver. For my homeserver, all contacts show as offline(gray badge next to the user avatar).&#xA;&#xA;From developer point of view&#xA;&#xA;All dependencies have been upgraded to latest versions. This include Inferno, the JS SDK, localforage and many others.&#xA;&#xA;I&#39;ve also switched from webpack to parceljs. The app was initially created with Create Inferno App which used webpack. But during upgrading dependencies(which also required upgrading node), I&#39;ve found webpack has too much overhead with its configuration. While when targeting KaiOS, zero configuration truly doesn&#39;t exist, parcel requires way less effort for this. Also parcel uses Rust which makes building much faster.&#xA;&#xA;There are working development and production builds. But more work must be done. For instance, when targeting Firefox 48, parcel tries to build a bundle which is good for both the ancient FF48 and newer browsers. FF48 doesn&#39;t support Javascript modules while modern browsers support. So parcel builds both module and nomodule Javascripts which make the bundle size twice. You can see this issue in parcel&#39;s repo for tracking the progress of it.&#xA;&#xA;Regarding the UI library, chooj was using AdrianMachado&#39;s KaiUI which is both ancient and intended to be a React UI library. React on KaiOS is really a terrible idea because of its efficiency. chooj, however, was using just styling stuff from the KaiUI. But the dependencies which were supposed to be used in a React project, was also installed with yarn install.&#xA;&#xA;As a long term solution, we need to fork this KaiUI and maintain it ourselves because Adrian is no longer working on it. For now I&#39;ve forked it to KaiUIv2 where all React stuff have been removed and now that is dependency of chooj. The styling stuff, however, is untouched. Many works must be done. I invite users of this KaiUI to help me with maintaining KaiUIv2.&#xA;&#xA;Future plans&#xA;&#xA;I plan to keep the look and feel of chooj as is till I release the first version(which will be 0.0.0). The 0.0.0 release will have very basic functionalities of a chat app including basic chatting, joining rooms both through public directories and by name, inviting users to DM, managing invites, experimental push notification support and perhaps voice call or end to end encryption support.&#xA;&#xA;After that, huge changes must be made. You can see a proposed UI design in this issue. And so many internal changes like separating the KaiUI Inferno components from chooj should also be done.&#xA;&#xA;KaiOS 3.x support&#xA;&#xA;There is no KaiOS 3.x support at the time of writing this post simply because there is no KaiOS 3.x global device which is also debug enabled. Many phones have been released which are US-only. There is Nokia 2780 which is US-only but not carrier locked. But community member who have bought this device are spending their time on finding a way to enable debug mode on this device.&#xA;&#xA;Funding and help needed&#xA;&#xA;Constant funding is needed for the project in the long term:&#xA;&#xA; Push gateway server is required for receiving push notifications. The server software should be written in Rust(or possibly Go if someone else wanted to take the job) which relays the notifications from user&#39;s homeserver to user&#39;s device. The server cost will vary depending on the number of users of chooj. If the number of users are big enough, we could have more than one server for different regions.&#xA;&#xA; Funding is also needed for development of chooj and its push gateway software. While I try to not abandon chooj, but I need an income for my life.&#xA;&#xA; chooj must be tested on different KaiOS versions and phones with different hardware features. For instance, the video call feature will require a phone with a front/selfie camera. While it is possible that I do this part of development remotely(e.g. tell someone else to test), it will be very painful and slow.&#xA;&#xA;To help with funding, I&#39;ve put a Bitcoin Cash(not Bitcoin) address in the project&#39;s README. If you are not already familiar with cryptocurrency stuff, you can buy from Paypal or an exchange like which I&#39;ve mentioned in the link above. And then sending to my address.&#xA;&#xA;There are many other stuff which money will not solve like testing. There is no machine which I can feed it money and after that it will tell me bugs of this project. Also I am a developer and not a UI/UX designer. So help and feedback from the community is necessary just like funding.]]&gt;</description>
      <content:encoded><![CDATA[<p><a href="/farooqkz/tag:chooj" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">chooj</span></a> <a href="/farooqkz/tag:matrix" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">matrix</span></a> <a href="/farooqkz/tag:matrixorg" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">matrixorg</span></a> <a href="/farooqkz/tag:chat" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">chat</span></a> <a href="/farooqkz/tag:chatapp" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">chatapp</span></a> <a href="/farooqkz/tag:chatclient" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">chatclient</span></a> <a href="/farooqkz/tag:foss" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">foss</span></a> <a href="/farooqkz/tag:kaios" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">kaios</span></a></p>

<p>After a long period of no progress, I&#39;ve got time to work on <a href="https://github.com/farooqkz/chooj" rel="nofollow">chooj, the Matrix client for KaiOS</a>, again! The progress is slow and constant funding is needed so that project will reach stable status within a reasonable period.</p>



<h3 id="what-s-new" id="what-s-new">What&#39;s new?</h3>

<h4 id="from-user-point-of-view" id="from-user-point-of-view">From user point of view</h4>

<p>Because many security flaws were found in one of dependency libraries of chooj, <code>matrix-js-sdk</code>, I had to tell everyone to stop using chooj. The most important change is that with upgrade of this dependency, chooj is usable again.</p>

<p>There are many small features which have been added. Most importantly, there is a much better and more friendly login progress, you can save pictures to gallery,  log out from chooj(In past the only option was uninstalling chooj and logging out from another client), and join rooms by entering room&#39;s alias(name) or id . Many bugs have been fixed and probably many new ones have been introduced. Finally, I&#39;ve added partial support for checking presence of your contacts. Please check if this feature works with your homeserver. For my homeserver, all contacts show as offline(gray badge next to the user avatar).</p>

<h4 id="from-developer-point-of-view" id="from-developer-point-of-view">From developer point of view</h4>

<p>All dependencies have been upgraded to latest versions. This include <a href="https://infernojs.org/" rel="nofollow">Inferno</a>, <a href="https://github.com/matrix-org/matrix-js-sdk" rel="nofollow">the JS SDK</a>, <a href="https://localforage.github.io/localForage" rel="nofollow">localforage</a> and many others.</p>

<p>I&#39;ve also switched from <a href="https://webpack.js.org" rel="nofollow">webpack</a> to <a href="https://parceljs.org" rel="nofollow">parceljs</a>. The app was initially created with <a href="https://github.com/infernojs/create-inferno-app" rel="nofollow">Create Inferno App</a> which used webpack. But during upgrading dependencies(which also required upgrading node), I&#39;ve found webpack has too much overhead with its configuration. While when targeting KaiOS, zero configuration truly doesn&#39;t exist, parcel requires way less effort for this. Also parcel uses <a href="https://rust-lang.org/" rel="nofollow">Rust</a> which makes building much faster.</p>

<p>There are working development and production builds. But more work must be done. For instance, when targeting Firefox 48, parcel tries to build a bundle which is good for both the ancient FF48 and newer browsers. FF48 doesn&#39;t support Javascript modules while modern browsers support. So parcel builds both module and nomodule Javascripts which make the bundle size twice. You can see <a href="https://github.com/parcel-bundler/parcel/issues/8783" rel="nofollow">this issue in parcel&#39;s repo</a> for tracking the progress of it.</p>

<p>Regarding the UI library, chooj was using <a href="https://github.com/AdrianMachado/KaiUI" rel="nofollow">AdrianMachado&#39;s KaiUI</a> which is both ancient and intended to be a React UI library. React on KaiOS is really a terrible idea because of its efficiency. chooj, however, was using just styling stuff from the KaiUI. But the dependencies which were supposed to be used in a React project, was also installed with <code>yarn install</code>.</p>

<p>As a long term solution, we need to fork this KaiUI and maintain it ourselves because Adrian is no longer working on it. For now I&#39;ve forked it to <a href="https://github.com/farooqkz/KaiUIv2" rel="nofollow">KaiUIv2</a> where all React stuff have been removed and now that is dependency of chooj. The styling stuff, however, is untouched. Many works must be done. I invite users of this KaiUI to help me with <a href="https://github.com/farooqkz/KaiUIv2/issues" rel="nofollow">maintaining KaiUIv2</a>.</p>

<h3 id="future-plans" id="future-plans">Future plans</h3>

<p>I plan to keep the look and feel of chooj as is till I release the first version(which will be <code>0.0.0</code>). The <code>0.0.0</code> release will have very basic functionalities of a chat app including basic chatting, joining rooms both through public directories and by name, inviting users to DM, managing invites, experimental push notification support and perhaps voice call or end to end encryption support.</p>

<p>After that, huge changes must be made. You can see a proposed UI design in <a href="https://github.com/farooqkz/chooj/issues/51" rel="nofollow">this issue</a>. And so many internal changes like <a href="https://github.com/farooqkz/chooj/issues/62" rel="nofollow">separating the KaiUI Inferno components from chooj</a> should also be done.</p>

<h3 id="kaios-3-x-support" id="kaios-3-x-support">KaiOS 3.x support</h3>

<p>There is no KaiOS 3.x support at the time of writing this post simply because there is no KaiOS 3.x global device which is also debug enabled. Many phones have been released which are US-only. There is <a href="https://wiki.bananahackers.net/en/devices/nokia-2780-flip" rel="nofollow">Nokia 2780</a> which is US-only but not carrier locked. But community member who have bought this device are spending their time on finding a way to enable debug mode on this device.</p>

<h3 id="funding-and-help-needed" id="funding-and-help-needed">Funding and help needed</h3>

<p>Constant funding is needed for the project in the long term:</p>
<ul><li><p>Push gateway server is required for receiving push notifications. The server software should be written in Rust(or possibly Go if someone else wanted to take the job) which relays the notifications from user&#39;s homeserver to user&#39;s device. The server cost will vary depending on the number of users of chooj. If the number of users are big enough, we could have more than one server for different regions.</p></li>

<li><p>Funding is also needed for development of chooj and its push gateway software. While I try to not abandon chooj, but I need an income for my life.</p></li>

<li><p>chooj must be tested on different KaiOS versions and phones with different hardware features. For instance, the video call feature will require a phone with a front/selfie camera. While it is possible that I do this part of development remotely(e.g. tell someone else to test), it will be very painful and slow.</p></li></ul>

<p>To help with funding, I&#39;ve put a Bitcoin Cash(<strong>not Bitcoin</strong>) address in <a href="https://github.com/farooqkz/chooj#donations" rel="nofollow">the project&#39;s README</a>. If you are not already familiar with cryptocurrency stuff, you can buy from Paypal or an exchange like which I&#39;ve mentioned in the link above. And then sending to my address.</p>

<p>There are many other stuff which money will not solve like testing. There is no machine which I can feed it money and after that it will tell me bugs of this project. Also I am a developer and not a UI/UX designer. So help and feedback from the community is necessary just like funding.</p>
]]></content:encoded>
      <guid>https://blog.bananahackers.net/farooqkz/chooj-is-back-into-the-game</guid>
      <pubDate>Sun, 12 Feb 2023 17:14:46 +0100</pubDate>
    </item>
    <item>
      <title>KaiOS shows us importance of FOSS</title>
      <link>https://blog.bananahackers.net/farooqkz/kaios-shows-us-importance-of-foss</link>
      <description>&lt;![CDATA[#kaios #foss #opensource #freesoftware #libresoftware&#xA;&#xA;About software and its distribution&#xA;&#xA;In the years which software was not commercialized and copyright about software was not yet a thing. People were distributing software and its source code and users were changing the software to their wish for better usability. The term hacker didn&#39;t mean someone who breaks into servers but it meant someone who plays around with the software and possibly fix bugs or add features to make it more useful. Today, this is known as &#34;Hacker in the MIT sense&#34;.&#xA;&#xA;!--more--&#xA;&#xA;Later came FOSS to bring the same advantages to the software world in the modern era. FOSS stands for Free Open Source Software. Strictly speaking, free software and open source software are different. Free here means freedom not zero price. However most pieces of software which are free software are also open source and vice versa. This includes those under MIT/X11, GPL, LGPL, MPL and many many other such these licences.&#xA;&#xA;Nowadays, a software does not necessarily come with the source code. Even if it&#39;s written in a language like Javascript which does not give your a binary, yet you don&#39;t have the source code because people mangle and minify the JS code. This will make the final package smaller and will also prevent users from understanding what the software does. To understand such a code, first you must add proper formatting and indentation to it. After that you&#39;ll have a bunch of function or variable names which use a single character and no comments to help you understand the code. I remember a friend had said &#34;These apps have been written without any love&#34;. I told him the &#34;love&#34; has been removed from the apps before deploying to production!&#xA;&#xA;From a point of view, KaiOS is just a pre-built Lego, just like any other Unix-like distribution. It&#39;s a Linux distro. The main parts of this Lego are the Linux kernel which its job is communication with the hardware, the libraries including libc which provide a useful and more abstract way to talk to kernel, and finally Gecko which on the top of it KaiOS applications, including the System app and the stock apps, run. There are also many other stuff like propriety vendor-dependent stuff.&#xA;&#xA;Which parts of KaiOS are FOSS?&#xA;&#xA;The Linux kernel used in KaiOS phones is under GPLv2. GPL is a strong copyleft licence. Many other &#34;userland&#34; libraries have similar licences. Gecko has a copyleft licence but a weak one. Copyleft means you can take the software and use it and possibly change it. But if you want to give the software to the others, you must give them the software and the changes in source code form as well. So from a legal point of view, KaiOS manufacturers must provide users the source codes which are under a copyleft licence. For example Nokia has published source code of Linux, many libraries and Gecko.&#xA;&#xA;But will giving you the source code make it possible for you to change the OS to your wish and deploy the new version to your phone? Sadly, the answer is not a total yes.&#xA;&#xA;First, many drivers are vendor-dependent and propriety. For instance, my 800 Tough has a Snapdragon from Qualcomm. If you have a similar phone, you will find many stuff in your phone with qcom in their name for various hardware features of the phone, including but not limited to Camera, charging, Cellular data and 3D acceleration. So where&#39;s the copyleft? The Linux kernel is under GPL which is a strong copyleft. Strong copyleft simply means you cannot combine propriety code with strong copyleft code. But Qualcomm uses propriety firmwares for various hardwares on the phone which are not linked with the Linux kernel and therefore it&#39;s not necessary to release the source code. Also not every part of KaiOS is strong copyleft. There is also weak copyleft which permits the combination as long as the original source code will be available. Or in other words, the open source part does not become closed source. Gecko uses Mozilla Public License or MPL which is of this kind.&#xA;&#xA;Second, there are many &#34;System&#34; and &#34;Stock&#34; apps used in KaiOS which are not FOSS. If you want your own free KaiOS, you&#39;ll have to write your own version of these apps. Like Contact, Call log, messaging and Settings app. And the most important one, the System app which runs other apps.&#xA;&#xA;Third and the worst problem is that even if you&#39;ve got an OS to deploy, the problem is the deploying process! You&#39;ll need to write your version of OS to device&#39;s internal storage and make your phone boot it. It&#39;s not easy, simple or straightforward. Companies usually lock their phones to prevent this and frighten customers that if they try such these ways, their phone will go out of warranty.&#xA;&#xA;Nevertheless, there has been attempts to port different stuff to KaiOS phones by using the Linux kernel and possibly other userlands. You can see Affe Null&#39;s Bananian project which ports Debian to the BananaPhone. I also remember Affe talking about running KaiOS 3.x on his port but it wasn&#39;t useful without hardware drivers and other apps, especially the System app. Last time I asked him, he said he is no longer working on Bananian and instead working on postmarketOS.&#xA;&#xA;Note: postmarketOS is a Linux distribution for the mobile phones. It uses the mainline Linux kernel and Alpine Linux on the top. You might see a variety of different old or very old mobile phones, mostly Android ones, which pmOS supports them. Unfortunately, because of drivers being propriety and little manpower to reverse engineer and replace them with FOSS ones, there aren&#39;t many devices with very good support of pmOS.&#xA;&#xA;So just the kernel being FOSS has enabled the community to port different stuff to these feature phones. And this shows importance of the kernel to be FOSS.&#xA;&#xA;Which parts of KaiOS are source available but not FOSS?&#xA;&#xA;Source available means you can see the source code but you are not permitted to change it and/or distribute with or without changes. All stock and System apps of KaiOS are source available because they are written in Javascript. Because the JS code has been mangled and minified, it&#39;s not easy to understand and modify them. Yet the BananaHackers community has provided near 20 ways as of writing this post to customize your device. To have custom launcher, custom Contact app, custom apps to launch from Lock-screen, change settings of stock apps and a lot more.&#xA;&#xA;Now imagine if we had source code of these apps under a FOSS licence, we could do much better and travel much further. Because the licence of stock apps does not allow re-distribution, legally we are not permitted to publish the entire improved packages or custom ROMs.&#xA;&#xA;Conclusion&#xA;&#xA;So if the ecosystem was FOSS-based and if the devices were not locked, KaiOS could be much better and it wasn&#39;t the only practical choice we have got on our mobile phones. And we see that even though the stock apps are not FOSS, and their sources are not available, we have made significant improvements to the ecosystem for ourselves and other users of this ecosystem. If locked phones were not locked, their users could have these improvements in their hands as well.]]&gt;</description>
      <content:encoded><![CDATA[<p><a href="/farooqkz/tag:kaios" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">kaios</span></a> <a href="/farooqkz/tag:foss" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">foss</span></a> <a href="/farooqkz/tag:opensource" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">opensource</span></a> <a href="/farooqkz/tag:freesoftware" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">freesoftware</span></a> <a href="/farooqkz/tag:libresoftware" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">libresoftware</span></a></p>

<h2 id="about-software-and-its-distribution" id="about-software-and-its-distribution">About software and its distribution</h2>

<p>In the years which software was not commercialized and copyright about software was not yet a thing. People were distributing software and its source code and users were changing the software to their wish for better usability. The term hacker didn&#39;t mean someone who breaks into servers but it meant someone who plays around with the software and possibly fix bugs or add features to make it more useful. Today, this is known as “Hacker in the MIT sense”.</p>



<p>Later came FOSS to bring the same advantages to the software world in the modern era. FOSS stands for Free Open Source Software. Strictly speaking, free software and open source software are different. Free here means freedom not zero price. However most pieces of software which are free software are also open source and vice versa. This includes those under <a href="https://en.wikipedia.org/wiki/MIT_License" rel="nofollow">MIT/X11</a>, <a href="https://en.wikipedia.org/wiki/GNU_General_Public_License" rel="nofollow">GPL</a>, <a href="https://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License" rel="nofollow">LGPL</a>, <a href="https://en.wikipedia.org/wiki/Mozilla_Public_License" rel="nofollow">MPL</a> and many many other such these licences.</p>

<p>Nowadays, a software does not necessarily come with the source code. Even if it&#39;s written in a language like Javascript which does not give your a binary, yet you don&#39;t have the source code because people mangle and minify the JS code. This will make the final package smaller and will also prevent users from understanding what the software does. To understand such a code, first you must add proper formatting and indentation to it. After that you&#39;ll have a bunch of function or variable names which use a single character and no comments to help you understand the code. I remember a friend had said “These apps have been written without any love”. I told him the “love” has been removed from the apps before deploying to production!</p>

<p>From a point of view, KaiOS is just a pre-built Lego, just like any other Unix-like distribution. It&#39;s a Linux distro. The main parts of this Lego are the Linux kernel which its job is communication with the hardware, the libraries including <code>libc</code> which provide a useful and more abstract way to talk to kernel, and finally Gecko which on the top of it KaiOS applications, including the System app and the stock apps, run. There are also many other stuff like propriety vendor-dependent stuff.</p>

<h2 id="which-parts-of-kaios-are-foss" id="which-parts-of-kaios-are-foss">Which parts of KaiOS are FOSS?</h2>

<p>The Linux kernel used in KaiOS phones is under GPLv2. GPL is a strong copyleft licence. Many other “userland” libraries have similar licences. Gecko has a copyleft licence but a weak one. Copyleft means you can take the software and use it and possibly change it. But if you want to give the software to the others, you must give them the software and the changes in source code form as well. So from a legal point of view, KaiOS manufacturers must provide users the source codes which are under a copyleft licence. For example Nokia has published source code of Linux, many libraries and Gecko.</p>

<p>But will giving you the source code make it possible for you to change the OS to your wish and deploy the new version to your phone? Sadly, the answer is not a total yes.</p>

<p>First, many drivers are vendor-dependent and propriety. For instance, my 800 Tough has a Snapdragon from Qualcomm. If you have a similar phone, you will find many stuff in your phone with <code>qcom</code> in their name for various hardware features of the phone, including but not limited to Camera, charging, Cellular data and 3D acceleration. So where&#39;s the copyleft? The Linux kernel is under GPL which is a strong copyleft. Strong copyleft simply means you cannot combine propriety code with strong copyleft code. But Qualcomm uses propriety firmwares for various hardwares on the phone which are not linked with the Linux kernel and therefore it&#39;s not necessary to release the source code. Also not every part of KaiOS is strong copyleft. There is also weak copyleft which permits the combination as long as the original source code will be available. Or in other words, the open source part does not become closed source. Gecko uses Mozilla Public License or MPL which is of this kind.</p>

<p>Second, there are many “System” and “Stock” apps used in KaiOS which are not FOSS. If you want your own free KaiOS, you&#39;ll have to write your own version of these apps. Like Contact, Call log, messaging and Settings app. And the most important one, the System app which runs other apps.</p>

<p>Third and the worst problem is that even if you&#39;ve got an OS to deploy, the problem is the deploying process! You&#39;ll need to write your version of OS to device&#39;s internal storage and make your phone boot it. It&#39;s not easy, simple or straightforward. Companies usually lock their phones to prevent this and frighten customers that if they try such these ways, their phone will go out of warranty.</p>

<p>Nevertheless, there has been attempts to port different stuff to KaiOS phones by using the Linux kernel and possibly other userlands. You can see <a href="https://git.abscue.de/bananian/bananian" rel="nofollow">Affe Null&#39;s Bananian</a> project which ports <a href="https://debian.org" rel="nofollow">Debian</a> to the BananaPhone. I also remember Affe talking about running KaiOS 3.x on his port but it wasn&#39;t useful without hardware drivers and other apps, especially the System app. Last time I asked him, he said he is no longer working on Bananian and instead working on <a href="https://postmarketos.org/" rel="nofollow">postmarketOS</a>.</p>

<p><strong>Note: postmarketOS is a Linux distribution for the mobile phones. It uses the mainline Linux kernel and <a href="https://alpinelinux.org/" rel="nofollow">Alpine Linux</a> on the top. You might see a variety of different old or very old mobile phones, mostly Android ones, which pmOS supports them. Unfortunately, because of drivers being propriety and little manpower to reverse engineer and replace them with FOSS ones, there aren&#39;t many devices with very good support of pmOS.</strong></p>

<p>So just the kernel being FOSS has enabled the community to port different stuff to these feature phones. And this shows importance of the kernel to be FOSS.</p>

<h2 id="which-parts-of-kaios-are-source-available-but-not-foss" id="which-parts-of-kaios-are-source-available-but-not-foss">Which parts of KaiOS are source available but not FOSS?</h2>

<p>Source available means you can see the source code but you are not permitted to change it and/or distribute with or without changes. All stock and System apps of KaiOS are source available because they are written in Javascript. Because the JS code has been mangled and minified, it&#39;s not easy to understand and modify them. Yet <a href="https://wiki.bananahackers.net/Customizations" rel="nofollow">the BananaHackers community has provided near 20 ways</a> as of writing this post to customize your device. To have custom launcher, custom Contact app, custom apps to launch from Lock-screen, change settings of stock apps and a lot more.</p>

<p>Now imagine if we had source code of these apps under a FOSS licence, we could do much better and travel much further. Because the licence of stock apps does not allow re-distribution, <em>legally</em> we are not permitted to publish the entire improved packages or custom ROMs.</p>

<h2 id="conclusion" id="conclusion">Conclusion</h2>

<p>So if the ecosystem was FOSS-based and if the devices were not locked, KaiOS could be much better and it wasn&#39;t the only practical choice we have got on our mobile phones. And we see that even though the stock apps are not FOSS, and their sources are not available, we have made significant improvements to the ecosystem for ourselves and other users of this ecosystem. If <a href="https://wiki.bananahackers.net/en/devices/locked-devices" rel="nofollow">locked phones</a> were not locked, their users could have these improvements in their hands as well.</p>
]]></content:encoded>
      <guid>https://blog.bananahackers.net/farooqkz/kaios-shows-us-importance-of-foss</guid>
      <pubDate>Tue, 03 Jan 2023 17:27:51 +0100</pubDate>
    </item>
    <item>
      <title>KaiOS is a good choice for you if...</title>
      <link>https://blog.bananahackers.net/farooqkz/kaios-is-a-good-choice-for-you-if</link>
      <description>&lt;![CDATA[#kaios #recommendation #techrecommandation&#xA;&#xA;Special thanks to Simon for editing&#xA;&#xA;In this post, I write about different reasons people choose KaiOS as their primary mobile operating system over mainstream ones such as Android.&#xA;&#xA;Why did I prefer KaiOS?&#xA;&#xA;When I was beginning to enter university, just like many many other students at the same age as mine, I needed a mobile phone. As a student and a bookworm I needed some small and lightweight device to read books, articles, websites and such of these. On the other hand, I had seen how people waste their time in mainstream social medias such as WhatsApp, Telegram and Instagram.&#xA;&#xA;So I took a different approach: I don&#39;t get myself a smart Android phone which I could carry Instagram and such these with myself everywhere and waste my time with it instead of socializing and being with friends and family. Instead, I planned to get an Android tablet with E-ink display with which I can read books, articles, papers, websites and blogs and everything else. Because the screen is E-ink rather than IPS or LED, it is almost like a regular piece of paper and thus it won&#39;t hurt my eyes.&#xA;&#xA;But the E-ink Android tablet I wanted to buy didn&#39;t have access to Cellular data. Only WiFi and Bluetooth. So I needed something to feed Cellular data to my tablet on the go. I needed a phone capable of basic Telephony and Messaging plus hotspot. At that time I had found KaiOS and the BananaPhone which the name BananaHacker is derived from it.&#xA;&#xA;Back then, I looked in KaiStore and barely 100 apps were available for it. I thought I wouldn&#39;t need to do anything with my KaiOS phone because I would also have an Android tablet. So I bought 8110, Nokia&#39;s first KaiOS phone.&#xA;&#xA;!--more--&#xA;&#xA;First reason: You want to use KaiOS because you don&#39;t want to be a social media addict&#xA;&#xA;You might have the same reason as me preferring KaiOS to Android. You simply feel you shouldn&#39;t waste too much time with social media.&#xA;&#xA;Actually there is a working unofficial Telegram app for KaiOS and there is official WhatsApp. I think the ZAP Reddit client is still out there and I started developing a Matrix client, chooj, for the emerging mobile operating system. But will you be able to chat with people for a few hours with the ABC keyboard? I guess not!&#xA;&#xA;Second reason: You want to modify everything&#xA;&#xA;KaiOS 2.5.1 and 2.5.2 are easily rootable. And the System app which is the main app for KaiOS uses Javascript as well as all other apps, including the stock ones. Javascript is not a compiled language. Rather, it is interpreted language. So the compiled Javascript app is very easily moddable. This means you can easily mod the System, Keyboard and other stock apps. Or, like Luxferre, create your own cool replacement.&#xA;&#xA;KaiOS is really lovely if you love modding your phone. Maybe because you are a Geek and you cannot use your phone the way other ordinary people do.&#xA;&#xA;Third reason: You want to be part of the revolution&#xA;&#xA;KaiOS is a new operating system. It&#39;s very buggy, the 2.5.x version is relatively slow. And its stock apps are really terrible usually. But it might have a good future(or not). So perhaps it&#39;s a good idea putting sometime codding for it and learning it in the hope that it will have some good future. Of course, because of its clouded uncertain future, it is probably not a good idea putting too much effort on it.&#xA;&#xA;Other reasons&#xA;&#xA;There are many other reasons people prefer a KaiOS phone. These reasons include but are not limited to probably longer battery life, being cheaper and maybe more efficient comparing to Android devices of the same price.&#xA;&#xA;I might have missed something or forgotten or perhaps you want to share you own reasons for preferring KaiOS. Feel free to Email me and I will include your opinion here:&#xA;&#xA;fkz [at] riseup [dot] net&#xA;`]]&gt;</description>
      <content:encoded><![CDATA[<p><a href="/farooqkz/tag:kaios" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">kaios</span></a> <a href="/farooqkz/tag:recommendation" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">recommendation</span></a> <a href="/farooqkz/tag:techrecommandation" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">techrecommandation</span></a></p>

<h4 id="special-thanks-to-simon-for-editing" id="special-thanks-to-simon-for-editing">Special thanks to Simon for editing</h4>

<p>In this post, I write about different reasons people choose KaiOS as their primary mobile operating system over mainstream ones such as Android.</p>

<h2 id="why-did-i-prefer-kaios" id="why-did-i-prefer-kaios">Why did I prefer KaiOS?</h2>

<p>When I was beginning to enter university, just like many many other students at the same age as mine, I needed a mobile phone. As a student and a bookworm I needed some small and lightweight device to read books, articles, websites and such of these. On the other hand, I had seen how people waste their time in mainstream social medias such as WhatsApp, Telegram and Instagram.</p>

<p>So I took a different approach: I don&#39;t get myself a smart Android phone which I could carry Instagram and such these with myself everywhere and waste my time with it instead of socializing and being with friends and family. Instead, I planned to get an Android tablet with E-ink display with which I can read books, articles, papers, websites and blogs and everything else. Because the screen is E-ink rather than IPS or LED, it is almost like a regular piece of paper and thus it won&#39;t hurt my eyes.</p>

<p>But the E-ink Android tablet I wanted to buy didn&#39;t have access to Cellular data. Only WiFi and Bluetooth. So I needed something to feed Cellular data to my tablet on the go. I needed a phone capable of basic Telephony and Messaging plus hotspot. At that time I had found KaiOS and the BananaPhone which the name BananaHacker is derived from it.</p>

<p>Back then, I looked in KaiStore and barely 100 apps were available for it. I thought I wouldn&#39;t need to do anything with my KaiOS phone because I would also have an Android tablet. So I bought 8110, Nokia&#39;s first KaiOS phone.</p>



<h2 id="first-reason-you-want-to-use-kaios-because-you-don-t-want-to-be-a-social-media-addict" id="first-reason-you-want-to-use-kaios-because-you-don-t-want-to-be-a-social-media-addict">First reason: You want to use KaiOS because you don&#39;t want to be a social media addict</h2>

<p>You might have the same reason as me preferring KaiOS to Android. You simply feel you shouldn&#39;t waste too much time with social media.</p>

<p>Actually there is a working unofficial Telegram app for KaiOS and there is official WhatsApp. I think the ZAP Reddit client is still out there and I started developing a Matrix client, <a href="https://github.com/farooqkz/chooj" rel="nofollow">chooj</a>, for the emerging mobile operating system. But will you be able to chat with people for a few hours with the ABC keyboard? I guess not!</p>

<h2 id="second-reason-you-want-to-modify-everything" id="second-reason-you-want-to-modify-everything">Second reason: You want to modify everything</h2>

<p>KaiOS 2.5.1 and 2.5.2 are easily rootable. And the System app which is the main app for KaiOS uses Javascript as well as all other apps, including the stock ones. Javascript is not a compiled language. Rather, it is interpreted language. So the compiled Javascript app is very easily moddable. This means you can easily mod the System, Keyboard and other stock apps. Or, like Luxferre, <a href="https://blog.bananahackers.net/farooqkz/fastcontact-a-great-replacement-for-the-stock-kaios-contacts-app-by-luxferre" rel="nofollow">create your own cool replacement</a>.</p>

<p>KaiOS is really lovely if you love modding your phone. Maybe because you are a Geek and you cannot use your phone the way other ordinary people do.</p>

<h2 id="third-reason-you-want-to-be-part-of-the-revolution" id="third-reason-you-want-to-be-part-of-the-revolution">Third reason: You want to be part of the revolution</h2>

<p>KaiOS is a new operating system. It&#39;s very buggy, the 2.5.x version is relatively slow. And its stock apps are really terrible usually. But it might have a good future(or not). So perhaps it&#39;s a good idea putting sometime codding for it and learning it in the hope that it will have some good future. Of course, because of its clouded uncertain future, it is probably not a good idea putting too much effort on it.</p>

<h2 id="other-reasons" id="other-reasons">Other reasons</h2>

<p>There are many other reasons people prefer a KaiOS phone. These reasons include but are not limited to probably longer battery life, being cheaper and maybe more efficient comparing to Android devices of the same price.</p>

<p>I might have missed something or forgotten or perhaps you want to share you own reasons for preferring KaiOS. Feel free to Email me and I will include your opinion here:</p>

<pre><code>fkz [at] riseup [dot] net
</code></pre>
]]></content:encoded>
      <guid>https://blog.bananahackers.net/farooqkz/kaios-is-a-good-choice-for-you-if</guid>
      <pubDate>Wed, 29 Jun 2022 11:59:19 +0200</pubDate>
    </item>
    <item>
      <title>Debug enabled KaiOS 3.x phone by Nokia?</title>
      <link>https://blog.bananahackers.net/farooqkz/debug-enabled-kaios-3-x-phone-by-nokia</link>
      <description>&lt;![CDATA[Thanks to Simon for editing&#xA;&#xA;As some of you might know, the BananaHackers group started with the Bananaphone by Nokia. In the past few years, since the launch of KaiOS in 2017-2018, KaiOS Nokia phones were one of the easiest to root using EDL(or not) and super trivial to make them debug enabled using the famous DEBUG dial code. So they are being a favourite among KaiOS app developers and device modders.&#xA;&#xA;And it has been a few months(at least) since when KaiOS 3.0 has been announced and some users have reported KaiOS 3.1 being in existence. Something which the community yet misses, is a KaiOS phone which is &#34;buyable&#34; and at least debug enabled or even better: Easily moddable by rooting.&#xA;&#xA;!--more--&#xA;&#xA;There are so many exciting new features in KaiOS 3.x which includes much better performance, support of new Web technologies including WebAssembly, newer WebGL, and a bunch of other stuff which you can see a list of them here&#xA;&#xA;According to Nokiamobs(see also this link), Nokia is probably preparing to launch a KaiOS phone, which must be KaiOS 3.x, with 4G cellular data.&#xA;&#xA;Specifiations of the new phone(s) are yet unknown.&#xA;&#xA;Related link]]&gt;</description>
      <content:encoded><![CDATA[<h4 id="thanks-to-simon-for-editing" id="thanks-to-simon-for-editing">Thanks to Simon for editing</h4>

<p>As some of you might know, the BananaHackers group started with the Bananaphone by Nokia. In the past few years, since the launch of KaiOS in 2017-2018, KaiOS Nokia phones were one of the easiest to root using EDL(or not) and super trivial to make them debug enabled using the famous <em>DEBUG</em> dial code. So they are being a favourite among KaiOS app developers and device modders.</p>

<p>And it has been a few months(at least) since when KaiOS 3.0 has been announced and some users have reported KaiOS 3.1 being in existence. Something which the community yet misses, is a KaiOS phone which is “buyable” and at least debug enabled or even better: Easily moddable by rooting.</p>



<p>There are so many exciting new features in KaiOS 3.x which includes much better performance, support of new Web technologies including WebAssembly, newer WebGL, and a bunch of other stuff which you can see a list of them <a href="https://developer.kaiostech.com/docs/sfp-3.0/introduction/overview" rel="nofollow">here</a></p>

<p><a href="https://nokiamob.net/2022/05/17/upcoming-nokia-penguin-nokia-g11-plus-magik-ta-1448-and-a-4g-feature-phone/" rel="nofollow">According to Nokiamobs</a>(see also <a href="https://nokiamob.net/2022/05/30/new-affordable-nokia-phones-tablet-and-buds-coming-soon/" rel="nofollow">this link</a>), Nokia is probably preparing to launch a KaiOS phone, which must be KaiOS 3.x, with 4G cellular data.</p>

<p>Specifiations of the new phone(s) are yet unknown.</p>

<p><a href="https://fccid.io/2AJOTTA-1469" rel="nofollow">Related link</a></p>
]]></content:encoded>
      <guid>https://blog.bananahackers.net/farooqkz/debug-enabled-kaios-3-x-phone-by-nokia</guid>
      <pubDate>Sat, 04 Jun 2022 10:17:44 +0200</pubDate>
    </item>
    <item>
      <title>Some imaginary quotes from Master Ivan Alex HC</title>
      <link>https://blog.bananahackers.net/farooqkz/some-imaginary-quotes-from-master-ivan-alex-hc</link>
      <description>&lt;![CDATA[#starwars #kaios #bananahackers #gerda #gerdaos&#xA;&#xA;  This is Master Ivan Alex HC(aka Uncle Ivan). I have to regret that both the Gerda order and the Republic, the democracy we had have fallen in order to give their place to the dark shadows of Darth Kai and the Empire. This is a reminder and warning for all surviving coders. Do not return to the Gerda repository and trust only in the source. In time, a new hope will emerge. May the source be with you, always!&#xA;&#xA;-- Adapted from Master Obi-wan&#39;s qoutes in Star Wars Rebels series]]&gt;</description>
      <content:encoded><![CDATA[<p><a href="/farooqkz/tag:starwars" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">starwars</span></a> <a href="/farooqkz/tag:kaios" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">kaios</span></a> <a href="/farooqkz/tag:bananahackers" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">bananahackers</span></a> <a href="/farooqkz/tag:gerda" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">gerda</span></a> <a href="/farooqkz/tag:gerdaos" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">gerdaos</span></a></p>

<blockquote><p>This is Master Ivan Alex HC(aka Uncle Ivan). I have to regret that both the Gerda order and the Republic, the democracy we had have fallen in order to give their place to the dark shadows of Darth Kai and the Empire. This is a reminder and warning for all surviving coders. Do not return to the Gerda repository and trust only in the source. In time, a new hope will emerge. May the source be with you, always!</p></blockquote>

<p>— Adapted from Master Obi-wan&#39;s qoutes in Star Wars Rebels series</p>
]]></content:encoded>
      <guid>https://blog.bananahackers.net/farooqkz/some-imaginary-quotes-from-master-ivan-alex-hc</guid>
      <pubDate>Fri, 03 Jun 2022 19:02:27 +0200</pubDate>
    </item>
    <item>
      <title>FastContact: A great replacement for the stock KaiOS Contacts app by Luxferre</title>
      <link>https://blog.bananahackers.net/farooqkz/fastcontact-a-great-replacement-for-the-stock-kaios-contacts-app-by-luxferre</link>
      <description>&lt;![CDATA[#kaios #bananahackers&#xA;&#xA;Special thanks to Mort and Simon for editing&#xA;&#xA;Today, after several months of the first release of FastContact, an open-source and super light contact app replacement for the stock Contacts app, I gave it a try. Perhaps &#34;Super Awesome&#34; is the best phrase I can find to describe my experience with his app.&#xA;&#xA;!--more--&#xA;&#xA;If you&#39;ve been a user of KaiOS smart feature phones, you definitely have suffered from the lag and slowness in KaiOS and its stock applications. For some apps like WhatsApp and Email, I don&#39;t suffer that much as I don&#39;t need them almost every time I unlock my phone to do something with it. The lag has at least two sources:&#xA;&#xA;The KaiOS itself is based on an ancient version of Firefox, which is 48.&#xA;&#xA;The app itself if the app is using JavaScript and/or CSS frameworks which are slow for KaiOS.&#xA;&#xA;Luxferre on the other side has taken the approach to use no JavaScript framework in his FastContact app as well as other of his &#34;Fast&#34; apps, making the app as fast as possible. While I am not sure regarding the neglect of any JavaScript framework, even InfernoJS which has got a performance nearly as good as plain/vanilla JS, the performance of FastContact is more than impressive.&#xA;&#xA;Two other measures for the lightness of an app are Memory and Storage usage. Taking a memory snapshot of FastContact while running shows only 0.5-0.6 MB while for the stock Contacts app on my 800 Tough, it&#39;s around 5.5 MB. One of the reasons definitely would be that the stock app shows 20 contacts at a time and has a more complex DOM structure and more complex CSS.&#xA;&#xA;As for load time and storage, because FastContact loads only a little few contacts initially and because of using no &#34;heavy&#34; stuff is less in size which helps it load significantly faster when compared to the stock one.&#xA;&#xA;In the last paragraph of the post, I make you remember that Luxferre is from Ukraine. If you are a Russian citizen perhaps it is a good advice for your government to stop the going war in Ukraine.&#xA;&#xA;Bonus&#xA;&#xA;Haha, one more paragraph as a bonus: You might be interested in this guide in the BananaHackers wiki which is about assigning FastContact to a hotkey to quickly open it instead of the stock alternative.]]&gt;</description>
      <content:encoded><![CDATA[<p><a href="/farooqkz/tag:kaios" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">kaios</span></a> <a href="/farooqkz/tag:bananahackers" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">bananahackers</span></a></p>

<h4 id="special-thanks-to-mort-and-simon-for-editing" id="special-thanks-to-mort-and-simon-for-editing">Special thanks to Mort and Simon for editing</h4>

<p>Today, after several months of the first release of <a href="https://store.bananahackers.net/#fastcontact" rel="nofollow">FastContact</a>, an open-source and super light contact app replacement for the stock Contacts app, I gave it a try. Perhaps “Super Awesome” is the best phrase I can find to describe my experience with his app.</p>



<p>If you&#39;ve been a user of KaiOS smart feature phones, you definitely have suffered from the lag and slowness in KaiOS and its stock applications. For some apps like WhatsApp and Email, I don&#39;t suffer that much as I don&#39;t need them almost every time I unlock my phone to do something with it. The lag has at least two sources:</p>
<ol><li><p>The KaiOS itself is based on an ancient version of Firefox, which is 48.</p></li>

<li><p>The app itself if the app is using JavaScript and/or CSS frameworks which are slow for KaiOS.</p></li></ol>

<p>Luxferre on the other side has taken the approach to use no JavaScript framework in his FastContact app as well as other of his “Fast” apps, making the app as fast as possible. While I am not sure regarding the neglect of <em>any</em> JavaScript framework, even <a href="https://stefankrause.net/js-frameworks-benchmark8/table.html" rel="nofollow">InfernoJS which has got a performance nearly as good as plain/vanilla JS</a>, the performance of FastContact is more than impressive.</p>

<p>Two other measures for the lightness of an app are Memory and Storage usage. Taking a memory snapshot of FastContact while running shows only <code>0.5-0.6 MB</code> while for the stock Contacts app on my 800 Tough, it&#39;s around <code>5.5 MB</code>. One of the reasons definitely would be that the stock app shows 20 contacts at a time and has a more complex DOM structure and more complex CSS.</p>

<p>As for load time and storage, because FastContact loads only a little few contacts initially and because of using no “heavy” stuff is less in size which helps it load significantly faster when compared to the stock one.</p>

<p>In the last paragraph of the post, I make you remember that Luxferre is from Ukraine. If you are a Russian citizen perhaps it is a good advice for your government to <strong>stop the going war in Ukraine</strong>.</p>

<h2 id="bonus" id="bonus">Bonus</h2>

<p>Haha, one more paragraph as a bonus: You might be interested in <a href="https://wiki.bananahackers.net/en/Customizations/assigning-fastcontact-to-arrowright-key-or-any-other-app" rel="nofollow">this guide in the BananaHackers wiki</a> which is about assigning FastContact to a hotkey to quickly open it instead of the stock alternative.</p>
]]></content:encoded>
      <guid>https://blog.bananahackers.net/farooqkz/fastcontact-a-great-replacement-for-the-stock-kaios-contacts-app-by-luxferre</guid>
      <pubDate>Sun, 08 May 2022 09:29:14 +0200</pubDate>
    </item>
  </channel>
</rss>