Jump to content

SoK/2025/StatusReport/Anish Tak: Difference between revisions

From KDE Community Wiki
Created page with "== Project Abstract == The project aims to help users migrate from Windows to GNU/Linux by analyzing their system specifications, asking relevant questions, and recommending a ranked list of distributions based on their preferences. == Deliverables == * A MVP (Minimum Viable Product) that recommends a ranked list of distributions to the users switching from windows to linux == Mentors == * Joseph P. De Veaugh-Geiss ([@joseph:kde.org]) * Snehit Sah ([@flyingcakes:k..."
 
No edit summary
 
Line 1: Line 1:
== Project Abstract ==
= Win2Linux-Chooser: An app to help migrate from Windows to Linux =
 
 
=== Project Abstract ===


The project aims to help users migrate from Windows to GNU/Linux by analyzing their system specifications, asking relevant questions, and recommending a ranked list of distributions based on their preferences.
The project aims to help users migrate from Windows to GNU/Linux by analyzing their system specifications, asking relevant questions, and recommending a ranked list of distributions based on their preferences.


 
=== Deliverables ===
== Deliverables ==


* A MVP (Minimum Viable Product) that recommends a ranked list of distributions to the users switching from windows to linux
* A MVP (Minimum Viable Product) that recommends a ranked list of distributions to the users switching from windows to linux


 
=== Mentors ===
== Mentors ==


* Joseph P. De Veaugh-Geiss ([@joseph:kde.org])
* Joseph P. De Veaugh-Geiss ([@joseph:kde.org])
Line 15: Line 16:
* Aakarsh MJ ([@aakarshmj:matrix.org])
* Aakarsh MJ ([@aakarshmj:matrix.org])


=== Weekly Progress ===


== Weekly Progress ==
==== Week 1 ====
 
=== Week 1 ===


* Discussed criteria for recommending distributions.
* Discussed criteria for recommending distributions.
Line 25: Line 25:
* Started working on the recommendation engine logic.
* Started working on the recommendation engine logic.


=== Week 2 ===
==== Week 2 ====


* Decided on parameters to rate distributions:
* Decided on parameters to rate distributions:
Line 37: Line 37:
* Decided to use PySide6 + Kirigami for the project.
* Decided to use PySide6 + Kirigami for the project.


=== Week 3 ===
==== Week 3 ====


* Set up the basic repository on KDE Invent.
* Set up the basic repository on KDE Invent.
Line 47: Line 47:
   # Calculating similarity with the user preference vector.
   # Calculating similarity with the user preference vector.


=== Week 4 ===
==== Week 4 ====


* Basic recommendation engine operational using dot product; switching to cosine similarity.
* Basic recommendation engine operational using dot product; switching to cosine similarity.

Latest revision as of 12:39, 23 February 2025

Win2Linux-Chooser: An app to help migrate from Windows to Linux

Project Abstract

The project aims to help users migrate from Windows to GNU/Linux by analyzing their system specifications, asking relevant questions, and recommending a ranked list of distributions based on their preferences.

Deliverables

  • A MVP (Minimum Viable Product) that recommends a ranked list of distributions to the users switching from windows to linux

Mentors

  • Joseph P. De Veaugh-Geiss ([@joseph:kde.org])
  • Snehit Sah ([@flyingcakes:kde.org])
  • Aakarsh MJ ([@aakarshmj:matrix.org])

Weekly Progress

Week 1

  • Discussed criteria for recommending distributions.
  • Decided to ask 4-5 questions without excessive technical details.
  • Explored distributions suitable for beginners, including Kubuntu, Fedora KDE, Linux Mint, and Lubuntu.
  • Started working on the recommendation engine logic.

Week 2

  • Decided on parameters to rate distributions:
 # Ease of installation
 # Old hardware support
 # Good documentation
 # Community support
 # Updates
  • Finalized JSON format for questions and CSV format for distribution weights.
  • Chose local processing over server-side for privacy and efficiency.
  • Decided to use PySide6 + Kirigami for the project.

Week 3

  • Set up the basic repository on KDE Invent.
  • Implemented the basic UI.
  • Worked on hardware detection using WMI and psutil.
  • Discussed filtering methods for the recommendation engine:
 # Agreed on using a cosine similarity model.
 # Treating each distribution as a vector.
 # Calculating similarity with the user preference vector.

Week 4

  • Basic recommendation engine operational using dot product; switching to cosine similarity.
  • Majority of the desktop client UI completed.
  • Improved the questionnaire and refined the algorithm by adding a penalty criterion.
  • Researched driver and external hardware support.