You are not logged in.

#1 2012-05-05 02:11:19

Xaero252
Member
Registered: 2011-11-28
Posts: 107

Creating a touch friendly interface

Okay, so I managed to pick up a raspberry pi, and I own a pair of older Yamaha bookshelfs, and a 50wpc stereo amplifier. I also have a large collection of lossless music and a 7" 1080p samsung led backlit HDMI TFT touchscreen display. I think you can already see where I want to go with this: Remote, linux powered music player. My original idea didn't really account for the actual touch interface, I knew I'd need to share the music on my network, and to get a wifi module for the Raspberry Pi, and that I'd be able to just run linux on it. That is all good and well, but most Linux applications (Android notwithstanding) aren't designed with fingers in mind.

I'm pretty fluent in HTML5 and the like, and I know most of the interface would be viable on that medium, but that creates a lot of overhead, and requires running a web browser which could make things look pretty tacky, even with fullscreen mode.

So here are my ideas so far:

Run on the stock X window manager with NO DE. From there, use xwinwrap with a spectrum analyzer for the wallpaper (or any other visualization I can manager to get piping through xwinwrap) With a simple Conky config to provide for a title bar with the time, signal strength, and other pertinent information, as well as a semi-transparent overlay to dim down / wash out the wallpaper. And then I was thinking of using something like Zenity to create a full screen window for audio controls and using a command line based Flac player to actually play the files. I quickly realized the last portion of this is the huge problem. I can get away with no DE, there won't be any windows to move around anyways, and the conky thing works great. Unfortunately though, Zenity doesn't really provide a robust enough means to create a usable gui for this sort of purpose. So now I come to you, the arch community to ask your take on the situation:

What simple programming language is capable of this sort of task?

Offline

#2 2012-05-05 17:21:33

Darksoul71
Member
Registered: 2010-04-12
Posts: 319

Re: Creating a touch friendly interface

Hm, I am not shure which programming languages you hade contact with but with a Delphi background I would go for Lazarus:
http://www.archlinux.org/packages/?sort … =&limit=50

If you are more a Basic guy consider using Gambas:
http://www.archlinux.org/packages/?sort … =&limit=50

Then I would use the GUI designer to make a fullscreen GUI without borders, add a few big buttons to it and you are mostly set.

I guess it is not hard to do a GUI which is touch screen compatible. For interfacing a CLI-based audioplayer in the back there are always functions to launch stuff in the shell.
May be even Python is up to this. There are several nice GUI toolkits.

For the GUI itself there is no real knowledge of Pascal or Basic required, since it is simply drag and drop. Only for the specific stuff such as executing shell commands and such you need some basic language.

Edit:
BTW: I would be interested how your Raspberry experiments turn out. I ordered one myself but it will take till end of June until it arives.
If you find the time it would be nice if you could keep me posted on your progress (even basic stuff such as setting up Arch with the Pi).

Last edited by Darksoul71 (2012-05-05 17:23:38)


My archlinux x86_64 host:
AMD E350 (2x1.6GHz) / 8GB DDR3 RAM / GeForce 9500GT (passive) / Arch running from 16GB USB Stick

Offline

#3 2012-05-05 18:12:44

Trilby
Inspector Parrot
Registered: 2011-11-29
Posts: 30,330
Website

Re: Creating a touch friendly interface

Why would html/svg be bad?  You could replace conky and many of those other parts by implementing those bits in the same html/svg file.  Paired with a light browser with no interface to get in the way (luakit, dwb, uzbl, etc) you could be set.

Another simple-to-implement option would be to hi-jack tint2 (tint2-svn from AUR).  I used this once to create a nice display.  You can choose "icons" for launchers, but those icons can be any size of png file, so you can - in effect - create any sort of button you'd like which can call a .desktop file which in turn could call any shell script or command.  You can, of course, customize all the other graphical options even including a transparent background.  The end result is that you can put any size of any kind of button (png) anywhere on the screen that can do whatever you want it to ... all from a simple tint2rc file.

These are my best suggestions short of writing a "real" app ... which also wouldn't be that hard if you know any C/python/etc.

Edit: example of my tint2 hackery here

Last edited by Trilby (2012-05-05 18:16:57)


"UNIX is simple and coherent" - Dennis Ritchie; "GNU's Not Unix" - Richard Stallman

Offline

#4 2012-05-05 18:21:39

Darksoul71
Member
Registered: 2010-04-12
Posts: 319

Re: Creating a touch friendly interface

Trilby wrote:

Why would html/svg be bad?

I think html is a valid option as well. I just suggested using either Lazarus or Gambas because I am a grunt old coder which is used to "old stuff" smile

I hacked together a simplified HTPC GUI years ago in Delphi in just one evening which consisted mainly of a full screen GUI with a wallpaper in the back and several text captions which were highlighted when you selected them. A touch friendly interface could look similar to this Win8 stuff (or different).

As they say:
Many roads lead towards Rome smile


My archlinux x86_64 host:
AMD E350 (2x1.6GHz) / 8GB DDR3 RAM / GeForce 9500GT (passive) / Arch running from 16GB USB Stick

Offline

#5 2012-05-06 14:59:23

Tes--
Member
Registered: 2009-11-13
Posts: 44

Re: Creating a touch friendly interface

Maybe you could give kivy a try? (disclaimer: I've never used it)

Last edited by Tes-- (2012-05-06 15:01:08)

Offline

#6 2012-05-06 15:20:13

Darksoul71
Member
Registered: 2010-04-12
Posts: 319

Re: Creating a touch friendly interface

One thing I forgot though:
The Raspberry is ARM-based. So you will be limited for the tools / libs available.

Wouldn't be XBMC an option ?


My archlinux x86_64 host:
AMD E350 (2x1.6GHz) / 8GB DDR3 RAM / GeForce 9500GT (passive) / Arch running from 16GB USB Stick

Offline

#7 2012-05-26 18:46:29

Xaero252
Member
Registered: 2011-11-28
Posts: 107

Re: Creating a touch friendly interface

@Darksoul:
Excellent suggestion, I completely overlooked XBMC as an option, it provides library utilities as well as a relatively touch friendly interface stock! I'm obviously going to need to do some modifications, but it should be just the trick for this situation.

Offline

Board footer

Powered by FluxBB