Author Topic: Linux Whiteboard  (Read 34899 times)

Offline fnf

  • *
  • Posts: 70
  • Karma: +2/-0
    • View Profile
on: March 01, 2008, 07:07:21 AM
Linux Whiteboard is a Linux version implementing Johnny Lee's idea. It's written in standard C/C++ and should compile/run in all Linux systems that are supported by libcwiid. Its current features are:
 - Left-click, right-click, click-and-drag supports.
 - Easy-to-use, but incomplete GUI.
 - High performance.

The project's homepage is located here: http://code.google.com/p/linux-whiteboard/ .
Currently there are prebuilt packages for Ubuntu Hardy Heron and Ubuntu Gutsy Gibbon, but it can be built and install to any user's directory.

Download Linux Whiteboard from Linux Whiteboard homepage


Offline fnf

  • *
  • Posts: 70
  • Karma: +2/-0
    • View Profile
Reply #1 on: March 04, 2008, 03:18:43 PM
Updated to version 0.2, with the following changes:
 - Now became entirely GUI-driven.
 - Dropped SDL dependency, everything GUI-related is handled by GTK+ .
 - Dependencies: gtkmm-2.4, libglademm-2.4, cairomm-1.0, xtst and sigc++-2.0 .
 - Added real-time notification of IR inaccuracies when calibrating.
 - New icon in the notification area.

Download Linux Whiteboard from Linux Whiteboard homepage


Offline dice

  • Site Admin
  • Administrator
  • *
  • Posts: 441
  • Karma: +18/-0
    • View Profile
    • Wiimote Project
Reply #2 on: March 04, 2008, 03:30:36 PM
Sounds like a nice project, wish I was more into linux though.  I used Kubuntu for a little while but I always go back to windows.

Keep us up to date on this project :)

Dice



Offline fnf

  • *
  • Posts: 70
  • Karma: +2/-0
    • View Profile
Reply #3 on: March 05, 2008, 05:06:15 AM
Sounds like a nice project, wish I was more into linux though.  I used Kubuntu for a little while but I always go back to windows.

Keep us up to date on this project :)

Dice

Thanks. I've got ideas to solve problems that many have been experiencing: jerky pointer motions and unreliable drag-n-drop (because of short disappearances of IR signals). Having implemented those, it would be feasible to use whiteboard as a real additional mouse pointer, even for drawing.

Supporting multiple languages (like most Linux applications) is also planned.

I see all of your Wiimote programs are written using .NET framework. Yeah, it's hard to get yourself untangled with Windows. But, if by any chance, you may try Ubuntu 7.10 (or the beta version Ubuntu 8.04 on "ubuntu" "daily" "build") on a virtual machine (VirtualBox is prefered over VMware :) ) to see how well whiteboard works.

Download Linux Whiteboard from Linux Whiteboard homepage


Offline Spindoctor

  • *
  • Posts: 5
  • Karma: +0/-0
    • View Profile
Reply #4 on: March 05, 2008, 05:43:51 AM
I would be glad to help you with a german translation if needed.



Offline dice

  • Site Admin
  • Administrator
  • *
  • Posts: 441
  • Karma: +18/-0
    • View Profile
    • Wiimote Project
Reply #5 on: March 05, 2008, 08:27:44 AM
Thanks. I've got ideas to solve problems that many have been experiencing: jerky pointer motions and unreliable drag-n-drop (because of short disappearances of IR signals). Having implemented those, it would be feasible to use whiteboard as a real additional mouse pointer, even for drawing.

Supporting multiple languages (like most Linux applications) is also planned.

I see all of your Wiimote programs are written using .NET framework. Yeah, it's hard to get yourself untangled with Windows. But, if by any chance, you may try Ubuntu 7.10 (or the beta version Ubuntu 8.04 on "ubuntu" "daily" "build") on a virtual machine (VirtualBox is prefered over VMware :) ) to see how well whiteboard works.

I think you are mistaken, I am not Johnny Lee Chung. He has made the apps that you are talking about.  I wish I was as smart as Johnny but I am not a coder at all, i just run this site and try to bring people together to share information.

I have Vmware with OS X 10.4.8, FreeBSD, and Kubuntu all loaded I mess with them when i get a chance.

Dice



Offline fnf

  • *
  • Posts: 70
  • Karma: +2/-0
    • View Profile
Reply #6 on: March 06, 2008, 02:13:06 PM
@Spin: All tranlations are very welcome. Please wait while I modify the source for this.

@dice: I wrongly assumed you being Johnny, sorry :) . Anyway, you probably have used Ubuntu; but if not, I suggest trying the latest Ubuntu daily image, it's more polished than Kubuntu and more user-friendly (although KDE is more powerful, to each his own). Btw, Linux is not Windows.

May I ask what have been keeping you from being a Linux user?. Perhaps the solutions to your annoyances will be very simple.

Download Linux Whiteboard from Linux Whiteboard homepage


Offline dice

  • Site Admin
  • Administrator
  • *
  • Posts: 441
  • Karma: +18/-0
    • View Profile
    • Wiimote Project
Reply #7 on: March 06, 2008, 03:16:54 PM
@dice: I wrongly assumed you being Johnny, sorry :) . Anyway, you probably have used Ubuntu; but if not, I suggest trying the latest Ubuntu daily image, it's more polished than Kubuntu and more user-friendly (although KDE is more powerful, to each his own).

I like KDE better than the others. I am more used to it.

Btw, Linux is not Windows.

Thats an under statement!!

May I ask what have been keeping you from being a Linux user?. Perhaps the solutions to your annoyances will be very simple.

I am a network administrator for a company that only uses Windows.  I have gone through allot of Microsoft Training and Certifications.  I dislike having to compile apps when a simple install would be nice, I know ubuntu has done allot for apps but some odd apps do not have an install.  I like being able to play mainstream games and there are some apps like Adobe Photoshop CS3 that I use daily. (gimp does not cut it)

These are a few reasons I do not move to a *nix distro.  I have used linux off and on for 8 years now, I get to the point where I can't get something to work and then I go back to windows.

Well thats about all

Dice :)



Offline ujs

  • *
  • Posts: 134
  • Karma: +10/-0
    • View Profile
    • uweschmidt.org
Reply #8 on: March 06, 2008, 04:47:28 PM
Thanks. I've got ideas to solve problems that many have been experiencing: jerky pointer motions and unreliable drag-n-drop (because of short disappearances of IR signals). Having implemented those, it would be feasible to use whiteboard as a real additional mouse pointer, even for drawing.

Supporting multiple languages (like most Linux applications) is also planned.

Hi, I'm the guy who codes the Java whiteboard app (http://www.uweschmidt.org/wiimote-whiteboard). I just wanted to let you know that I already did some enhancements to the Johnny's original software. I already added screen selection, right click and mouse movement smoothing (simply averaging last 7 points works well in practice without noticeable delay). My code is basically licensed under MIT, so feel free to borrow some.

I'm also interesed in your enhancements. We don't always have to reinvent the wheel...

The next release of my software will include instructions on how to get it to work on Linux too (using BlueZ). There is a license issue such that Linux users have to obtain a required library themselves...

Uwe

Java WiimoteWhiteboard for Mac OS X, Windows and Linux.


Offline fnf

  • *
  • Posts: 70
  • Karma: +2/-0
    • View Profile
Reply #9 on: March 08, 2008, 10:27:46 AM
Hi, I'm the guy who codes the Java whiteboard app (http://www.uweschmidt.org/wiimote-whiteboard). I just wanted to let you know that I already did some enhancements to the Johnny's original software. I already added screen selection, right click and mouse movement smoothing (simply averaging last 7 points works well in practice without noticeable delay). My code is basically licensed under MIT, so feel free to borrow some.

I'm also interesed in your enhancements. We don't always have to reinvent the wheel...

The next release of my software will include instructions on how to get it to work on Linux too (using BlueZ). There is a license issue such that Linux users have to obtain a required library themselves...

Uwe

Sorry for the late reply, something came up and it's taking longer than expected.
I like your idea of damping pointer positions, I take a different approach though: It's a simple physics engine which supports accelerations, inertia and forces. The IR pointer is a force acting on the actual cursor, so under rapid and curvy movements like drawing, it will be smooth.

I also use that physics engine to detect disappearances of IR signals, who knows what else it would be useful for :) .

I've taken a look at the code, although I'm not really fond of Java so it did look a bit verbose to me. In Linux Whiteboard, only gtk-gui.cpp is the one handling everything GUI-related, and wii.cpp is to control the Wiimote.

How is your porting to Linux going?. I'll be happy to try it out (though the licensing part is a put-off for permanent using). If libcwiid works under Windows and Mac, or there are other open-source equivalent in the Windows/Mac world, I'll take them into account. Since all other dependencies of Linux whiteboard are cross-platform.

Download Linux Whiteboard from Linux Whiteboard homepage


Offline fnf

  • *
  • Posts: 70
  • Karma: +2/-0
    • View Profile
Reply #10 on: March 08, 2008, 10:37:05 AM
Quote
I am a network administrator for a company that only uses Windows.  I have gone through allot of Microsoft Training and Certifications.  I dislike having to compile apps when a simple install would be nice, I know ubuntu has done allot for apps but some odd apps do not have an install.

Since you're not a programmer, I'll tell you: the thing about having to compile apps is more of a tradition (and technical advantage) than anything else. It is perfectly possible to compile everything into a binary blob than runs under any POSIX-compatible systems (Linux and UNIX) like the nVidia, ATI driver packages, Google Earth and most commercial Linux games.

You probably have heard of 'DLL Hell' in Windows: that's one of the many disadvantages of static linking. Although I can make a statically-linked Linux Whiteboard package so Ubuntu Gutsy users can use my package compiled for Hardy, I don't want to since it goes againts the tradition of Linux programs and is a burden to maintain. That also is the main reason why Windows becomes slower and more prone to crash over time.

Quote
I like being able to play mainstream games and there are some apps like Adobe Photoshop CS3 that I use daily. (gimp does not cut it)

These are a few reasons I do not move to a *nix distro.  I have used linux off and on for 8 years now, I get to the point where I can't get something to work and then I go back to windows.

Fair enough, I agree that there are some apps that people just cannot live without. Although I'd just run 'em in a virtual machine if needs be. In my case there's none though (happy GIMP user here) :-) .

Download Linux Whiteboard from Linux Whiteboard homepage


Offline fnf

  • *
  • Posts: 70
  • Karma: +2/-0
    • View Profile
Reply #11 on: March 08, 2008, 01:49:53 PM
ujs: Do you have a plan to make Whiteboard aware of multiple Wiimotes for a single pointer (so if user blocks the view of one, the other Wiimote still can see it)?. Does Mac support multiple cursors yet?.

Download Linux Whiteboard from Linux Whiteboard homepage


Offline ujs

  • *
  • Posts: 134
  • Karma: +10/-0
    • View Profile
    • uweschmidt.org
Reply #12 on: March 08, 2008, 02:56:52 PM
I like your idea of damping pointer positions, I take a different approach though: It's a simple physics engine which supports accelerations, inertia and forces. The IR pointer is a force acting on the actual cursor, so under rapid and curvy movements like drawing, it will be smooth.

I also use that physics engine to detect disappearances of IR signals, who knows what else it would be useful for :) .

That sounds like a good idea. I know nothing about physics engines but I might have a look into that.
Cursor movement smoothing is implemented in my program using the so-called Strategy pattern. This has the advantage that the user can change the smoothing algorithm during run-time. Thus I could add "physics engine smoothing" to the list of selectable algorithms.

I've taken a look at the code, although I'm not really fond of Java so it did look a bit verbose to me. In Linux Whiteboard, only gtk-gui.cpp is the one handling everything GUI-related, and wii.cpp is to control the Wiimote.

The initial port of Johnny's app was a single class with about 400 lines of code. I changed and added a lot since then. I try to break the program down into separate comprehensible parts adhering to well-known software engineering practices.

How is your porting to Linux going?. I'll be happy to try it out (though the licensing part is a put-off for permanent using).

The next release will include instructions how it should work on Linux (can't test it though). A GPL'd library is required to use BlueZ under Linux with BlueCove (which my program uses). As far as I understand (and I could be wrong about that) I am not allowed to ship a GPL'd library with my code since my license (modfied MIT) is not compatible with the GPL.

ujs: Do you have a plan to make Whiteboard aware of multiple Wiimotes for a single pointer (so if user blocks the view of one, the other Wiimote still can see it)?. Does Mac support multiple cursors yet?.

I was planning to include that feature in a future release, probably not soon though.


Uwe
« Last Edit: March 08, 2008, 03:01:37 PM by ujs »

Java WiimoteWhiteboard for Mac OS X, Windows and Linux.


Offline fnf

  • *
  • Posts: 70
  • Karma: +2/-0
    • View Profile
Reply #13 on: March 09, 2008, 02:08:44 PM
I would be glad to help you with a german translation if needed.

I've finished i18n-izing it. Are you familiar with the translation process?. If you are, I will just add you as a translator and you'dd have access to the repository. If not, can you provide me the locale you'd want to add and (additionally) your email address in case someone found a bug. The supported locales can be found in /usr/share/i18n/SUPPORTED.

Thanks.

Download Linux Whiteboard from Linux Whiteboard homepage


Offline fnf

  • *
  • Posts: 70
  • Karma: +2/-0
    • View Profile
Reply #14 on: March 09, 2008, 02:15:47 PM
The initial port of Johnny's app was a single class with about 400 lines of code. I changed and added a lot since then. I try to break the program down into separate comprehensible parts adhering to well-known software engineering practices.

Your code is clean, you shouldn't have any problem porting my engine over. I'll let you know when it's finished. Sorry, I'm in the middle of an exam.

Quote
The next release will include instructions how it should work on Linux (can't test it though). A GPL'd library is required to use BlueZ under Linux with BlueCove (which my program uses). As far as I understand (and I could be wrong about that) I am not allowed to ship a GPL'd library with my code since my license (modfied MIT) is not compatible with the GPL.

That's true, users will have to install it themselves or better yet, Johnny Lee agrees to change it to GPL.

Download Linux Whiteboard from Linux Whiteboard homepage