Miniature/Development

Miniature - Play chess everywhere you go!
.: Home : Releases : Wish list : Development : Coding style :.
The Berlin Defence, as seen in Miniature

Contents

The concept

Miniature is a chess board that is always with you, ready to let you play and learn wherever you go.

  • The main use case is playing online against other players at http://www.freechess.org/ (FICS)
  • Now imagine that you can also chat with the other player.
  • Play P2P games against other players next to you or remotely with your Contacts.
  • Learning is important: watch games live, review stored games and also process offline the lessons offered at FICS.
  • And not only regular chess. Think also on Suicide, Crazyhouse...

Miniature is a Qt application with a C/C++ backend and a QML UI. The architecture is modular, thinking on the addition of different servers and types of interaction.

We are targeting our development on MeeGo Harmattan and the Nokia N9 but we welcome maintainers for other ports e.g. MeeGo upstream, Symbian, Android-Necessitas, Qt powered desktops...

Project news

  • 2011-08-29: first patch from Uwe Kaminski aka jukey committed to the Miniature project. Thank you!
  • 2011-08-28: "New seek" feature implemented, mikhas and jukey play the first Miniature vs Miniature game from their devices.
  • 2011-08-26: First real & unstable FICS games played. First it was mikhas against himhelf, then mikhas-qgil.  :)
  • 2011-08-25: How quick I got started with Qt Quick - blog post from Quim Gil featuring Miniature.
  • 2011-08-25: Miniature 0.3 runs in MeeGo 1.2 CE on a Nokia N900 (with some bugs).
  • 2011-08-23: Miniature 0.3 Berlin Defence released.
  • 2011-08-15: New Miniature UX concepts integrated to the master branch - the new engine gets a UI (screenshot).
  • 2011-08-13: Miniature can be developed using Qt Creator (instructions).
  • 2011-08-01: Miniature 0.2.1 released! The new Encore engine and the new QML UI, together for the first time. The game can do real seeks but still no real games.
  • 2011-07-27: New UI targetting MeeGo Harmattan developed in parallel - source & packages for Nokia N9/N950.
  • 2011-07-18: engine refactored around Encore, a GNUChess wrapper. This is the beginning of a rewrite.
  • 2011-07-06: request to port to Meego : http://forum.meego.com/showthread.php?p=25031

The Miniature project was born as a proposal sent to the Maemo community on 2009-10-31. Check the archive if you want to dig in the past.

Project status

Tasks for the next release get a HIGH priority. All the rest falls in the Backlog.

Miniature 0.4 release

IDSummary (28 tasks) SeverityPStatus
12345Miniature's i18n is missingcriticalHighVERIFIED
12426Miniature doesn't handle draw requestscriticalHighVERIFIED
12341Filter buttons for FICS seeks could be simplerenhancementHighNEW
12356Miniature should remeber the value used the last timeenhancementHighNEW
12376Miniature should be able to resume adjourned FICS gamesenhancementHighNEW
12411OnlineBoard: Implement game end dialog for abort during move 1enhancementHighNEW
12421Vibration or sound notification if opponent movesenhancementHighNEW
12456Miniature official support for MaemoenhancementHighRESOLVED
12351Make move confirmation an option or remove itenhancementHighVERIFIED
12359Miniature FICS user must fill id & password every timeenhancementHighVERIFIED
12390Make last turn visibleenhancementHighVERIFIED
12455Miniature chat area use is not obviousenhancementHighVERIFIED
12367Seek search filters don't workmajorHighNEW
12424[Discussion] OnlineBoard: Implement a better game's end dialogmajorHighNEW
12434SeekGame doesn't filter Atomic gamesmajorHighNEW
12394Miniature should set autoflag 1 automaticallymajorHighVERIFIED
12408Some registered users can't play Miniature as whitemajorHighVERIFIED
12525Clock keeps running after finishing a gameminorHighNEW
12419About Miniature dialog: "i" button is hiding a part of a linkminorHighVERIFIED
12380Miniature doesn't handle "unseek"normalHighNEW
12414OnlineBoard: Implement dialog for abort requestsnormalHighNEW
12433End game confirmation dialogs should lead to gameoverDialognormalHighNEW
12524Chat is cut when a game is finishednormalHighNEW
12420Miniature crashes on closing the application from recents viewnormalHighRESOLVED
7867Display shouldn't dim while playing a gamenormalHighVERIFIED
12435Miniature should recognize games forfeited on timenormalHighVERIFIED
12464Players with rating of less 1000 points cannot reliably use MiniaturenormalHighVERIFIED
12470Check mate needs to be parsed and processed in MiniaturenormalHighVERIFIED
Warnings were generated during the execution of function
  1. Parameter target_milestone=0.4 is invalid using regex /^[\w]*$/

Backlog

IDSummary (20 tasks) SeverityPStatus
8142Chess games logs need to be stored somewhereenhancementLowNEW
12346Miniature needs a proper repositorynormalMediumNEW
12348Miniature for MeeGo CE doesn't show TextFieldmajorMediumNEW
12354List of games: Show available game offers onlynormalMediumNEW
12360List of games: Function of the Back-Arrow unclear. Confirmation Dialogue needed?normalMediumNEW
12392Show how much material is left for each playerenhancementLowNEW
12396Implement dialog for challangesenhancementMediumNEW
12410OnlineBoard: Implement item "abort" in back menuenhancementMediumNEW
12413The chat log doesn't show the last line when the local user postsnormalMediumNEW
12422Show application close button in the upper right cornerminorLowNEW
12423Extend chat featureenhancementMediumNEW
12427Miniature doesn't handle adjourn requestsnormalMediumNEW
12431SeekGames: Do not show more than 50 games in the list at once (was: Implement "clear list" function)enhancementMediumNEW
12439Enable breadcrumbs in the wiki (miniature-chess.org)enhancementMediumNEW
12443FICS Setting: Implement an option to send game notation after a game endsenhancementMediumNEW
12469Initial value of localSide.rating == 0 for Miniature registered usersminorLowNEW
12504after failed login, VKB pops up even if in info screenenhancementMediumNEW
12539Installation on the N900 failscriticalUnspecifiedNEW
12583No hint that starting new games is impossible (number of adjourned games to high)majorUnspecifiedNEW
12592qtquickcompat is needed, but not listed as DependsnormalUnspecifiedNEW

Easyfix (suited for newcomers)

IDSummarySeverityPStatus
12392*
easyfix12392
Show how much material is left for each playerenhancementLowNEW

Looking for more? There is more at the Wishlist.

Get involved

Contributions are welcome! This is how you can get started:

Localization

The localization work hasn't started yet and as a matter of fact our string are still not L10n ready. It's in our ToDo list, do you want to help?

SDK instructions

Currently you can build Miniature with the latest Qt SDK (including the Harmattan target) or the Harmattan Platform SDK. The Miniature sources and commit logs are available at https://gitorious.org/miniature/ . Both SDKs come with an emulator for deploying your app. All the better if you have a Nokia N950 or N9 to test on device.

Instructions to set you Miniature development environment:

  • Qt SDK
  • Harmattan Platform SDK instructions are currently missing. fwiw the Maemo Platform SDK might help since both are based on Scratchbox...

Set up a personal clone repository of Minature

If you plan to get involved deeper into development it's a good idea to create a personal clone of the Minature git source repository. This allows you to do merge requests for patches you created in your clone repository. The cloned repository should be connected to Minature as upstream to make it easy to fetch changes from there. Step-by-step description:

  • Create an gitorious account or log in and make sure to have an SSH-Key in place
  • Clone repository
  • enable upstream: Open a terminal and switch into the local folder of your clone project and enter:
git remote add upstream git://gitorious.org/miniature/miniature.git
  • fetch upstream data:
git fetch upstream
  • Create merge requests: You can use the "Request merge" button in your gitorious clone project website.

Send us patches!

Found a bug? Spotted code smell? We glady accept patches! There are three ways to send patches to us:

  • By reporting the bug, and hopefully attaching a patch that solves the stated problem (but just reporting bugs is also appreciated).
  • By using the chess-devel mailing list: A ML-friendly patch can be created with "git format-patch HEAD~n", where n specifices how many commits (starting from HEAD) should be converted to patches;
  • By issuing a merge request: Send us a link to your public git repo (including branch/revision), or use the merge request feature from http://gitorious.org.

Architecture

See the Miniature architecture wiki page. (outdated)

Contributors

Maintainers:

Gave a big hand:

Special thanks: