Author Topic: noob questions on UI 'skins'/changes/upgrades  (Read 2795 times)

roustabout

  • Newbie
  • *
  • Posts: 4
    • View Profile
noob questions on UI 'skins'/changes/upgrades
« on: January 17, 2015, 08:32:51 am »
I'm a total newbie to linuxMCE - other than seeing and getting interested in the original Pluto projects awhile ago and wanting to build a system ever since, but I haven't installed or implemented anything or put together hardware yet.  (I hope that's coming to start finally soon but outside of collecting some X10 modules and such i'm nowhere yet)


Could someone with a little more understanding of the nuts and bolts maybe explain to me how flexible and changeable the UI is?  I don't like the look.  This is more than a griping feature request, my girlfriend is actually a graphic design major and even if I cannot code anytime soon i'd be happy to try and contribute trying to give a visual overhaul even if it's eventually paying her to commission things if she's just too busy or disinterested herself to donate time.  :)

Like I said though I don't really like the look, but since every demo i've seen so far of MCE has the same look i'm assuming maybe it's not that easy to change?  I just think in a modern age of iPads and having seen fancy animated icons on many phones, i'm looking to do up something like that.


What can be done with the interface currently, is it easy to 'skin' by just editing icons and such?  Is it designed to be mostly hardcoded text and design, open ended 2d images/icons of anything, fully animated transitions between menus/icons, or could it even have 3d effects done?  If a person wanted to seriously bring the UI into the 21st century with retina displays and animated 3d interfaces would that be a monumental undertaking or are there 'code hooks' in place that you wouldn't have to reinvent the wheel, but just add the fancy new graphics (even through shockwave flash or maybe a 3d game engine) to talk to whats there?


Also how hard is it to change the basic functions?  Like lets say I wanted to alter the Security Lighting Climate Telephony type selections to interface with some fairly custom software or even other applications, could they trigger outside applications?  Pass messages to/from those applications perhaps even on a separate computer?  Change internal logic or normal macros (similar to how it normally turns on the lights and then captures an image of an intruder and connects the telephony to talk to them - maybe I have infrared lighting and want them captured on camera but not tipped off)  Or say for instance I wanted to experiment with home robotics and motorizing lots of things, whether it's press a button to physically make a TV drop out of the ceiling, or press another to change the position of speakers or special lights along a track, or even have a motorized cabinet door or lazy suzan in the kitchen - just having those things be a part of the linuxMCE control panel strategy on every Orbiter/screen so that macros could control those custom functions in concert with the normal controls that do things like close the drapes, alter the room lighting, turn on a certain TV and receiver, etc etc.


Again i'm not asking anyone to do that custom code for me, just trying to understand how hard it is to interface to the user interface - was it designed with that kind of function expansion in mind, or easy scripting and configuration in mind?  Do I learn python, or Objective C, or is there a custom internal language that configures everything or what?

_if_

  • Guru
  • ****
  • Posts: 248
    • View Profile

Marie.O

  • Administrator
  • LinuxMCE God
  • *****
  • Posts: 3675
  • Wastes Life On LinuxMCE Since 2007
    • View Profile
    • My Home
Re: noob questions on UI 'skins'/changes/upgrades
« Reply #2 on: January 18, 2015, 12:35:15 am »
The above link talks about the original Orbiter way of doing things. Thanks to golgoj4 we have a new engine to drive the skinning to a new level. qOrbiter and/or QML are the keywords to search for on wiki.linuxmce.org

golgoj4

  • NEEDS to work for LinuxMCE
  • ***
  • Posts: 1193
  • hrumpf!
    • View Profile
    • Mah Website
Re: noob questions on UI 'skins'/changes/upgrades
« Reply #3 on: January 19, 2015, 06:08:33 am »
I'm a total newbie to linuxMCE - other than seeing and getting interested in the original Pluto projects awhile ago and wanting to build a system ever since, but I haven't installed or implemented anything or put together hardware yet.  (I hope that's coming to start finally soon but outside of collecting some X10 modules and such i'm nowhere yet)


Could someone with a little more understanding of the nuts and bolts maybe explain to me how flexible and changeable the UI is?  I don't like the look.  This is more than a griping feature request, my girlfriend is actually a graphic design major and even if I cannot code anytime soon i'd be happy to try and contribute trying to give a visual overhaul even if it's eventually paying her to commission things if she's just too busy or disinterested herself to donate time.  :)

Like I said though I don't really like the look, but since every demo i've seen so far of MCE has the same look i'm assuming maybe it's not that easy to change?  I just think in a modern age of iPads and having seen fancy animated icons on many phones, i'm looking to do up something like that.


What can be done with the interface currently, is it easy to 'skin' by just editing icons and such?  Is it designed to be mostly hardcoded text and design, open ended 2d images/icons of anything, fully animated transitions between menus/icons, or could it even have 3d effects done?  If a person wanted to seriously bring the UI into the 21st century with retina displays and animated 3d interfaces would that be a monumental undertaking or are there 'code hooks' in place that you wouldn't have to reinvent the wheel, but just add the fancy new graphics (even through shockwave flash or maybe a 3d game engine) to talk to whats there?


Also how hard is it to change the basic functions?  Like lets say I wanted to alter the Security Lighting Climate Telephony type selections to interface with some fairly custom software or even other applications, could they trigger outside applications?  Pass messages to/from those applications perhaps even on a separate computer?  Change internal logic or normal macros (similar to how it normally turns on the lights and then captures an image of an intruder and connects the telephony to talk to them - maybe I have infrared lighting and want them captured on camera but not tipped off)  Or say for instance I wanted to experiment with home robotics and motorizing lots of things, whether it's press a button to physically make a TV drop out of the ceiling, or press another to change the position of speakers or special lights along a track, or even have a motorized cabinet door or lazy suzan in the kitchen - just having those things be a part of the linuxMCE control panel strategy on every Orbiter/screen so that macros could control those custom functions in concert with the normal controls that do things like close the drapes, alter the room lighting, turn on a certain TV and receiver, etc etc.


Again i'm not asking anyone to do that custom code for me, just trying to understand how hard it is to interface to the user interface - was it designed with that kind of function expansion in mind, or easy scripting and configuration in mind?  Do I learn python, or Objective C, or is there a custom internal language that configures everything or what?


Its been made light years easier to do this on a various platforms

Old UI is build on WX widgets.
*It had built the text into prerendered objects before the ui could run (orbitergen)
*Animation was problematic
*A billion other issues I dont care to mention

Now we have new UI.
*Run on Android, x86*, iOS, even pi*
*No media director variant yet (its in the pipe...waiting on me)
*Dynamic UI. You can develop without ever closing the application
*Missing tons of functionality / coherent UI design
*Built on Qt / QML
*Actually has proper separation of UI and business logic.
*Needs many more people working on UI design / Functionality
*Beta ios app, released android app, packages for x86, no windows builds yet because im a busy person (we need more people)

Re the other questions:
*Can i talk to outside apps
  -yes, there are many way of communicating from between applications and devices on the same computer network. not just computers.
ex: Phillips hue controller is
*c++ code running on the dcerouter that
*talks to and controls the phillps hue bridge via http/json to
*control the lights.

The general design pattern is linuxmce <--interface software--> device
If you go down this road, specifics can be provided. But if it has an interface to the outside world, it can be controlled.

And the UI can always take custom scenarios for things, so adding a button on all the UI's for 'Dance Party' isnt that big of a deal. Would be nice if  web designer would come along and add a feature to the scenarios' page that let me assign the same scenario to more than one EA at a time...but i digress...


https://www.youtube.com/playlist?list=PL80B34FB76B25586B

We could use some consistent design input.
Linuxmce - Where everyone is never wrong, but we are always behind xbmc in the media / ui department.