0

I am starting with this project of mine of writing a custom UI for linux. What would happen is:

  • The computer would boot into this UI which would not be the typical taskbar/icons/startbutton kind of thing. Think more like a dedicated UI instead of a general purpose one.

  • It would provide access to wifi, ethernet, bluetooth etc. Basically have access to most system resources.

Up until this point, I don't planning on having a file manager for the user. The app would take care of this. Sort of the way apps on mobile phones work.

My first instinct was to work (fork an existing one) on a custom DE like Gnome/KDE. So I read up a lot about window managers and desktop environments and while window managers seem to be the best option for what I am trying to do, another idea occurred to me which would be much less complicated. I could simply (I know!) write an app which the native OS boots into, without any splash screen etc. So, take a distro like Arch Linux, strip it down to the basics and then build an app on top of that.

I would like to get some advice on what the best way to go forward with this would be. Do you guys concur that an app is better to go with? Please excuse me if the question seems naive. Any suggestions/ideas welcome.

  • 1
    If you start doing system-level programming by asking at Programmers.SE, you are doing it wrong. Linux has a lot of customizable WMs/environments which don't require programming at all (but rather heavy config work). – Deer Hunter Aug 29 '13 at 14:09
  • We don't know what your requirements are, what the app is for, who is going to use it besides yourself etc. – Deer Hunter Aug 29 '13 at 14:11
  • @DeerHunter Well think of it as the app screens on android and ios minus the dock thing and the top bar (taskbar on a pc). – reggaemahn Aug 29 '13 at 14:41
1

I would like to get some advice on what the best way to go forward with this would be. Do you guys concur that an app is better to go with?

Step 1: decide what you want: you describe something that is a boot loader (very low level); then, you describe something that is a WM or a DE.

Normally:

  • you should try to optimize for a user-level application;
  • if that doesn't fit, you should consider a DE or WM;
  • if that doesn't fit either, you should consider something custom (i.e. something that is between a DE, WM or user application - eventually not running X server at all)
  • if that doesn't fit either, you should consider something at operating system level (i.e. similar to a boot loader).

These steps are sorted in order of ease of implementation (determined by availability of libraries, documentation at each level, amount of specific domain knowledge and so on).

Step 2: decide what is feasible from what you want: a desktop application can take (depending on requirements and available resources) anywhere between half a day of development and a decade; a DE replacement on the other hand, would probably take longer (depending on complexity).

From here on, it gets complicated (you need analysis, design and the entire project lifecycle party).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.