Jump to content

SoK/2025/StatusReport/Anish Tak

From KDE Community Wiki
Revision as of 12:39, 23 February 2025 by Drowsywings (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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.