WB-Integration in Chess Messenger http://interface.sf.net

Discussions about Winboard/Xboard. News about engines or programs to use with these GUIs (e.g. tournament managers or adapters) belong in this sub forum.

Moderator: Andres Valverde

WB-Integration in Chess Messenger http://interface.sf.net

Postby chessuser » 28 Jul 2012, 12:48

Hello
i have a question to the developers of Winboard, in which language it is written?

there is a Chess Instant Messenger App under http://interface.sf.net
(Please see the screen shots here: http://sourceforge.net/projects/interface/ )
which is written in c++.

This is an Instant Messenger, that means you add you Friend(s) to the Messenger and then all your friends are online and you can play chess with them online.
That is fully serverless, as you play directly with your Messenger Friends.

As this is for new users a disadvantage, I thought about an integration of the Winboard Gui to make this hybrid, to be able to play over the chess server and to play with the online friends.

Is there a user or developer given who is interested to test this messenger out and has as well the knowledge to add the winboard GUI to InterFace Chess Network?

We could merge both, and I read here in the forum as well the request for a Qt gui,

Any ideas?? Thanks
chessuser
 
Posts: 26
Joined: 28 Jul 2012, 12:10

Re: WB-Integration in Chess Messenger http://interface.sf.ne

Postby H.G.Muller » 29 Jul 2012, 21:14

WinBoard is written in plain C, using Windows API directly. (I.e., no fancy widget sets like Qt.)

I am not sure, however, what an 'instant messenger' is. (Is this a chat program?) When I click the link in your post my Internet Explorer terminates instantly, though, so perhaps this is the 'instant' part...

I had some difficulty understanding what you want, from your post. What would be the role of the Chess server you mention?

WinBoard already has the possibility to play 'peer to peer' (i.e. without using a server like FICS), using the p2p pseudo-engine. I am not sure how this instant messenger could help here. In a sense p2p already is an instant messenger, albeit not a very general one. (Namely not much good when the messages are not Chess moves.)

If it is desirable that there is no separate communication channel, but the communication should go over the existing channel of the instant messenger, it might be simpler to integrate p2p in the latter. So that WinBoard (or any other GUI) could use it as pseudo-engine.
User avatar
H.G.Muller
 
Posts: 3453
Joined: 16 Nov 2005, 12:02
Location: Diemen, NL

Re: WB-Integration in Chess Messenger http://interface.sf.ne

Postby matematiko » 29 Jul 2012, 21:50

H.G.Muller wrote:
I am not sure, however, what an 'instant messenger' is. (Is this a chat program?) When I click the link in your post my Internet Explorer terminates instantly, though, so perhaps this is the 'instant' part...



This is a classical example that shows that the best programers and minds in this world, do also have a great sense of humor,

In my dictionary (at least), "instant messaging" has been redefined.

Regards
One that does not live to serve, does not deserve to live.
matematiko
 
Posts: 219
Joined: 07 Dec 2008, 17:11
Location: Texas

Re: WB-Integration in Chess Messenger http://interface.sf.ne

Postby chessuser » 30 Jul 2012, 05:43

yah, instant messaging means to create a friendslist with presence. XMPP is popular for a buddylist.
The disadvantage of a p2p connection is a missing DHT to re-connect, as you have to enter in your gui always a new IP and port of the friend, if not given from the chess server.

the Messenger allows to create Emails, Groupchat, Forums, with all your friends, and it is even more, not only Chat to friends, or a re-connection for presence, it is as well an open source social network, which allows to pick up friends of friends as own friends, so ideal for chess clubs to build communities.

Playing chess means just a click to start a session with a friend online.
Your browser should be able to display one of both given website urls. Otherwise use another browser. Which version do you use?

The FICS Server integration is then one buddy button, which opens the Chess Gui Tab and then creates a connection over telnet commands to FICS in the given Qt gui.
That gui could be extended for FICS specific things. This communication is done over normal client server commands for Fics. The players communicate over the messenger. In case they play 1:1 without Fics, the communication is as well already coded in.

As your code is C++, you should have a look for a Qt gui, as it compiles for all 3 operating systems and is much nicer than windows api.
In case you are using it, please consider to set up on the existing chess gui of interface messenger, thx.
chessuser
 
Posts: 26
Joined: 28 Jul 2012, 12:10

Re: WB-Integration in Chess Messenger http://interface.sf.ne

Postby H.G.Muller » 30 Jul 2012, 10:43

OK, I see. But it seems much easier to run the instant messenger as (pseudo)engine under WinBoard. Then you can simply start that combination through a shortcut, do whatever you normally do through the IM's window, and click 'new game' in WB when you want to play. In other words, convert the IM from having its own (primitive) GUI to become a regular WB engine.
User avatar
H.G.Muller
 
Posts: 3453
Joined: 16 Nov 2005, 12:02
Location: Diemen, NL

Re: WB-Integration in Chess Messenger http://interface.sf.ne

Postby chessuser » 30 Jul 2012, 16:35

good idea, but not possible, as the messenger has certain libs, which would cause a tremendous re-code of the messenger gui to a Windows API gui.
Today is Qt. believe me. So there are options to be part of the new boat. As soon as a Qt gui for FICS is out, all the rest of the gui can be summed up.
this might be hard, but change is possible and we should not loose your experience in the things and procedures. Would you be interested to be still part of this important process?
chessuser
 
Posts: 26
Joined: 28 Jul 2012, 12:10

Re: WB-Integration in Chess Messenger http://interface.sf.ne

Postby H.G.Muller » 30 Jul 2012, 18:11

But there would be no need to recode anything, as Chess engines are not expected to have a GUI in the first place, and WB would not want to know about it. The only thing that would have to be recoded in the messenger is that it would send and accept all Chess-game-related messages to/from its standard output/input, in WB-protocol format. In the mean time it could keep doing with its own GUI whatever it does there now, without WinBoard knowing it. While WInBoard could do what it is doing now in its own windows.

No need to recode anyting in the IM GUI. No need to recode anything in the WB GUI...

The WB version of ChessV is a good example of how this works. ChessV has its own integrated GUI, which can be used to play games against it as 'stand-alone' Chess program. But you can play it under WB (to play it against other engines) because it also sends and accept moves as text from stdout / stdin. ChessV is a real engine, but if it would have been an instant messenger, it would basically work the same way. WB does not care what the (pseudo)engine is doing in its own GUI, or how it comes by its moves.

I don't think there would be much advantage to a Qt-based GUI for the user. On the contrary. There is nothing Qt can do that cannot be do by using Windows API. And cross-platform widget sets like Qt are usually sub-optimal compared to native widget sets, having to limit themselves to the 'greatest common devisor' of support available on individual platform. I don't think it is the widget set that determines the success of a GUI. Only 10% of WinBoard is GUI-related; 90% is back-end processing related to the functionality.

I'd rather have a native Mac version (and an Android version!) than merely a change in widget sets on platforms already supported now, which, (if we are lucky), no one would notice. Even if that is a bit more work for the programmer.
User avatar
H.G.Muller
 
Posts: 3453
Joined: 16 Nov 2005, 12:02
Location: Diemen, NL

Re: WB-Integration in Chess Messenger http://interface.sf.ne

Postby chessuser » 30 Jul 2012, 18:48

thanks for the fast reply, this is really compilcated to me and you are definately needed to be part of it. I saw you added chat functionality to ping someone with IP and Port. Of course it is possible to add chat to windboard, but it would be different and not as good as the interface messenger has it.
But that is, I guess, not your option, you want to add to the qt gui of the messenger the win api gui of windboard, so that the message is sent from alice in qt interface gui to bob qt interface gui and then the gui, respective the lib, should overgive the chat message to winboard.
if that is technically possible, that would make interface a cool messenger for winboard. go ahead please, interface is open source. Well, it is not only a messenger, more a social network, which allows to pic up friend of friends, that´s what a chess community or club opens the door to new chess members.

but why then not to make the winboard within the qt chess qui of interface?
I mean, winboard has a long history and is a cool app, we value it much, but from a simple point of view it is just a chess board gui and some certain commands.
These could be basically with a few basic commands quickly implemented into the qt gui. and this will come, some other developers already announced interest and they are building that team, sooner or later. I would prefer to have you and maybe Reinhard building a team for it, as you know the FICS api very well. Well, this can be a disadvantage too and an advantage. Who knows?

The one needs money and does not want to open the code and has no qt experience and codes very slow, the other has lots of experience and as well knows no qt and has done a great work, which is hard to abandon.
The process is simple: add a button, open the given chess qt gui tab, integrate a server logon and basic ping pong commands for the moves. done. maybe an indian coder team would do that for less dollars, but this should be done by chess players. This gives more sense to us all.

I think as long as no qt gui integrates FICS support, all is fine, but asap it is out, by you or third party, the wheel turns.
Just want to discuss, what is needed to have you both on board for this process.
Saying good by to WINAPI gui and closed source would open up a team for Qt open source gui, which e.g. could be done in chess messenger. Do you think you could join this team?
chessuser
 
Posts: 26
Joined: 28 Jul 2012, 12:10

Re: WB-Integration in Chess Messenger http://interface.sf.ne

Postby H.G.Muller » 30 Jul 2012, 22:21

I still don't understand why you see so much in Qt. It is just a tool for coding GUIs. Users could not care less whether thir GUI is Qt based or Win API or GTK or WxWidgets. They only care what it can do for them. If someone builds a Qt-based Chess GUI with FICS support, so what? If it is a crappy GUI people will not use it because it is Qt-based crappy GUI.

This is a bit like trying to sell some Meccano construction set to a famous sculptor, urging him to redo his sculptures using this toy construction stuff, because others will use it to make sculptures too, because it is so much easier than chipping away stone or casting bronze. But it would be fooling yourself to think that people would buy 'Meccano art' in great numbers...

Because that is what Qt is: a toolkit with a limited set of prepared elements. It could have more elements than some competing toolkits, but it will still limit your options to what they offer. Therefore the idea of having a competing Qt-based FICS client does not impress me the least. Users simply don't care about Qt (if they would know what it is at all). There already exits Qt-based Chess GUIs, btw. (e.g. CuteChess).

A second point we might not agree on is the desirability to integrate Chess and Messenger functionality. IMO integration is a bad thing. It leads to rigid and unwieldly large products. A modular design is much better. People that want to use a certain messenger should not be forced to use a Chess GUI that happens to be integrated with it. They should have the choice to use any Chess GUI with it, so they can pick the one of their liking. Therefore I prefer a design based on independent, self-sufficient components, which communicate through standard protocols. So they can all work with each other. There are already so many GUIs, one more will hardly have any impact. If people want to abandon WinBoard for another GUI because they don't like WinBoard, they will still not like WinBoard when it would be ported to Qt.

And even if you like integration, it would probably be an order of magnitude easier to integrate messenger functionality into WinBoard than it would be to integrate WinBoard into this messenger. After all, what does the messenger do that the current p2p pseudo-engine doesn't already do? Keeping a list of contacts is not a big deal, perhaps a 30-min job to add it...
User avatar
H.G.Muller
 
Posts: 3453
Joined: 16 Nov 2005, 12:02
Location: Diemen, NL

Re: WB-Integration in Chess Messenger http://interface.sf.ne

Postby chessuser » 31 Jul 2012, 05:57

I understand, what you write, it is not about Qt, it is about the "product" InterFace Chess, which should be extended to FICS server functionality. And that is a Qt app we cannot change now. The Integrated approach has more than just presence and communication, it is a social network, so you can pic up friend of friend and build communities, idea for chess clubs, so this is not just the 10 minutes thing for ping pong communication. If this discussion leads to not switch the horse and just add messaging to winboard, that is fine, but i already know, that is is a limited model in spite of the social network functionality of the lib of the qt app.
chessuser
 
Posts: 26
Joined: 28 Jul 2012, 12:10

Re: WB-Integration in Chess Messenger http://interface.sf.ne

Postby H.G.Muller » 31 Jul 2012, 08:08

Well, you would not lose any functionality if you would keep the existing messenger and the existing WinBoard, and let them communicate. WinBoard is already set up to work that way. So it would be up to the messenger to provide the other end of that communication link.

It does seem wise to let the original developers do that. For one, they already know the software, and would know exactly where to change it. Secondly, although this is open source, we would not want to start a fork, which will then be left behind in development.
User avatar
H.G.Muller
 
Posts: 3453
Joined: 16 Nov 2005, 12:02
Location: Diemen, NL

Re: WB-Integration in Chess Messenger http://interface.sf.ne

Postby chessuser » 31 Jul 2012, 22:39

fork of what? i dont think it make sende, if you play with serverfriends to use a winapi gui chessboard and if you play with personal known friends with qt gui chessboard.
That is like taxidrivers driving the car for unknown guests looking out of back window, and while driving for the family to look out of the front window.
Making an api in qt messenger for win api chess gui could be as much as work than integrating FICS commands in the qt chess gui. Somone already has announced interest and someone has already started for an integration. This will come and the simple question is just, if you and Reinhards, who is currently mute and has his own thoughts, want to join. If not, it is as well ok, it then just needs more time. So any helping hand is welcome (under terms of condition: qt gui of interface and all open source GPL 2/3, donation is possible but no hourly payment). Really would appreciate and value the Qt chess gui for FICS and your joining, if there is interest. If your paradigm is Schuster bleib bei Deinen Leisten, then stay closed source and with win api. Its just an offer and request, and a question if you are flexible too learn and change and be part of an important process and exciting experience. Qt compiles for any of the main operating systems and it has great potentials to have one out of one hand and sum up the different individual projects. Partity, Synchronity and Harmony.
chessuser
 
Posts: 26
Joined: 28 Jul 2012, 12:10

Re: WB-Integration in Chess Messenger http://interface.sf.ne

Postby H.G.Muller » 01 Aug 2012, 08:22

A fork of the Instant Messenger, of course. You or I can make plans to change that code, but if the original developers don't like the current Chess interface to be kicked out at the expense of WinBoard, we have the choice to abandon the idea, or start a fork of the IM. Are you in contact with the original developers? If so, why don't they appear here? Or are you the original developer?

And you still have the wrong idea for what I have in mind. In my design, the IM would just get two extra buttons / menu items: "Play against friend" and "Play on FICS". Pressing either of them would start up WinBoard. Either in ICS mode, or with the p2p pseudo-engine loaded and connected to the friend. So you would always use WinBoard to play, whether against a friend or on FICS. It is a design choice (for the IM) whether you want Alice pressing the button also launch WinBoard on Bob's end of the IM link, or whether (less intrusively) you just want the IM to pass a request, and let Bob press the button himself or ignore the request.

No need for any changes in WinBoard. You can even make it configurable whether people would launch WinBoard to play Chess, or whether they would prefer SCID or Arena. So much better for the user as well. Only minor changes in the IM required. It could even be made configurable whether the user would use the IM's native Chess interface, rather than an external, more powerful external interface of his choice. What you propose seems about 100 times more work to create an inferior solution. Would I be interested to participate in that? Not really...

But in case you want to convert WinBoard to Qt I can offer some advice: the best starting point would be the XBoard sources in the current master branch from the GNU repository. I especially refactored that for easy portability to other platforms / widget sets, by separating out all code that is platform independent, and condense the platform-dependent code to almost nothing, and located it in separate files. (I did this as preparation for making an XBoard Android port.)
User avatar
H.G.Muller
 
Posts: 3453
Joined: 16 Nov 2005, 12:02
Location: Diemen, NL

Re: WB-Integration in Chess Messenger http://interface.sf.ne

Postby chessuser » 01 Aug 2012, 18:06

I see, thanks for the explanation, no I am not from the developers. A Launch Button in the Messenger is technically possible, but why should one have 2 apps for that and use that to play with a friend. I think an integrated solution is better, so yes, the FICS server functionality should be implemented in InterFace qt Chess.
chessuser
 
Posts: 26
Joined: 28 Jul 2012, 12:10

Re: WB-Integration in Chess Messenger http://interface.sf.ne

Postby H.G.Muller » 01 Aug 2012, 18:17

And this is another issue where we see things differently: I think an integrated solution is always worse than a modular one. (Namely rigid and inflexible.)

Point is that the user does not know and does not care how many apps there really are in the software package he installs. He only sees that a window pops up in response to a button, and doesn't give a hoot whether that window is really from a different process running another application rather than same. Or whether the dialogs he sees are drawn by Win API or Qt. There just is no way for him to ever figure that out.
User avatar
H.G.Muller
 
Posts: 3453
Joined: 16 Nov 2005, 12:02
Location: Diemen, NL

Re: WB-Integration in Chess Messenger http://interface.sf.ne

Postby chessuser » 01 Aug 2012, 22:19

I think of features. not apps.
chessuser
 
Posts: 26
Joined: 28 Jul 2012, 12:10

Re: WB-Integration in Chess Messenger http://interface.sf.ne

Postby H.G.Muller » 01 Aug 2012, 23:30

No idea what you mean by that.

You seem, however, to not properly distinguish the technical implementation of a feature from the feature itself. To the user, a window that pops up on pressing a buttom in another window will be considered a feature, not a different app. How the job he wants done is performed in terms of processes, libraries, executables, scripts is unknowable to the end user. A clever developer will therefore use the most convenient, (simplest, least error-prone) solution, or he would be wasting his time for no purpose at all...
User avatar
H.G.Muller
 
Posts: 3453
Joined: 16 Nov 2005, 12:02
Location: Diemen, NL

Re: WB-Integration in Chess Messenger http://interface.sf.ne

Postby chessuser » 02 Aug 2012, 05:42

how would we release your solution for mac? for Linux? for windows?
chessuser
 
Posts: 26
Joined: 28 Jul 2012, 12:10

Re: WB-Integration in Chess Messenger http://interface.sf.ne

Postby H.G.Muller » 02 Aug 2012, 06:37

WinBoard exists for Linux and Mac under the name XBoard. WinBoard is just the MS Windows port of that.
User avatar
H.G.Muller
 
Posts: 3453
Joined: 16 Nov 2005, 12:02
Location: Diemen, NL

Re: WB-Integration in Chess Messenger http://interface.sf.ne

Postby H.G.Muller » 03 Aug 2012, 21:51

I tried to install the package of your first link on my Win2K system. The Dooble browser seems to work; I can start it, and browse the internet with it. When I click the "Addons->Start interface" menu item, however, I get an error popup saying:

Addon load failed
Cannot load library C:/hgm/Dooble/plugins/interface.dll: the specified procedure could not be found.

This despite the fact that the mentioned DLL file does exist in that place.
User avatar
H.G.Muller
 
Posts: 3453
Joined: 16 Nov 2005, 12:02
Location: Diemen, NL

Next

Return to Winboard and related Topics

Who is online

Users browsing this forum: No registered users and 14 guests