Upgrade to Chess.com Premium!

Why Fritz,Houdini, Rybka and Hiarcs not in Android?


  • 13 months ago · Quote · #1

    ilgambittoo

    Please tell

    :)

  • 13 months ago · Quote · #2

    ollave

    Pretty likely because it would tke a total rewrite to port them.

    Android uses a Java-ish language and its own user interface.

    A similar question is why are Fritz, Houdini and Rybka not available for OS X, or why is Hiarcs not available for Windows? That's in fact a simpler matter technically (OK, my educated guess) due to the different user interfaces.

    There are, however, programs available for Android that are suitable for playing against, but analysis ... probably still best left to a "real" computer.  The CPUs in phones aren't as powerful as laptops/notebooks/desktops and phones (and phone manufacturers) worry about battery life a lot.

  • 13 months ago · Quote · #3

    dzikus

    While the user interface may not be a big issue because an engine which supports UCI protocol may be added to any of the existing interfaces there is a problem with porting the engine itself.

    Android supports writing computational programs in C++ (through the NDK) but the commercial engines are only developed for Windows and porting a Windows app to Linux is not an easy task. Both operating systems have completely different philosophy which makes programmers' lifes hard.

    As far as I remember Dr. Houdart planned porting Houdini to Linux but I guess he does not put much effort on that because he focuses on making the engine play stronger and stronger and this is his primary task (this generates his income while Linux users are very frequently addicted to using free software and they would never buy Houdini while they have Stockfish)

  • 13 months ago · Quote · #4

    ollave

    @dzikus: thanks for the information re C++ and NDK. I didn't know that.

    You are 100% correct about how hard cross-platform portability is: I've spent more of my life than I care to think about dealing with issues related to it. And the closer to the system you want to be (native GUI, or most efficient access to system resources) the harder it gets.

  • 13 months ago · Quote · #5

    dzikus

    @ollave

    If you want to create portable applications for different mobile and desktop platforms I would suggest you to have a look at Qt toolkit (http://qt-project.org). It lets you create applications in C++ and the GUI in a declarative language which is a mix of css+js or even in html5 (webkit is included). Qt's goal is to offer as much portability as possible with less coding (C++ layer contains a full SDK with everything you need: XQuery, websockets, perl-style regular expressions, SQL database interoperability, multimedia and much more - you do not need boost or any external libraries, everything is there and uses platform native implementations for Windows, Linux (including embedded), Mac, Android, Blackberry, Symbian and IOS). The GUI may need tweaking for specific platforms (especially mobile or embedded) but it is as simple as changing a css stylesheet.

    Every new release adds functionality or support for more platforms and you need not learn OS internals (or new languages like Objective C) to port your applications. Just recompile.

  • 13 months ago · Quote · #6

    ollave

    @drikus: Thanks again. On and off I've been involved in portable GUI toolkits: I was associated with a team back in 1990 which was writing one.

    Qt is probably the winner these days, where a compromise between a web interface and full native implementations is acceptable.

    At heart I'm a systems guy: I want someone else to write the UI, and C++ ... well, like the rest of the world, I use it, and Bjarne Stroustrup is unquestionably a genius, but I do wish it had stayed an academic experiment and not become a commercial standard!

    We've definitely drifted enough for chess.com though, and I'll shut up now. Wouldn't do to offend anyone who might employ me who happens across this thread if I don't have to! Smile


Back to Top

Post your reply: