/dailygammon

DailyGammon-app is free and ad-free client for the long-running DailyGammon web-based application.

Primary LanguageSwift

DailyGammon

Example is free and ad-free client for the long-running DailyGammon web-based application.

You can download the iOS app for free and without ads in the appstore

What is Dailygammon?

DailyGammon is a mixture of letter chess and backgammon. You sign up for one or more games (most players have several games going at once) with other players on the site. When you sign up, you make a series of moves in each game (move order), and the server records your moves. Later, your opponent logs in and responds to your moves. Then when you log back in, those moves are waiting for you! Using this method, you can complete an entire backgammon match over the course of a few weeks, taking only a few minutes each day. There are so-called time credits per match which can grow with the number of moves already made. I myself always have a few dozen games running at the same time. It is a very big advantage to be able to take as much time as you want for a move. You should definitely try this out as a backgammon player.

Why I have developed an app as a client for the Dailygammon server?

The site has the cleanest html code you can imagine. and this has been stable for many years. Unfortunately, this also means that there is no energy for adjustments on modern devices and the resulting demands. On a PC in the browser it's all still ok. But on an iPad or iPhone it really needs improvement.

I have full understanding for the operator of the website that he does not want to invest in further developments. everything has been running stable for many years and it should stay that way.

On an iPhone, everything is teeny tiny and you have to aim really accurately (or re-zoom on each move) to touch the checkers for a move.

I just wanted it to be more comfortable to play. So I jumped into the adventure and started to develop a native app for my iPad.

I just need to read and interpret the clean HTML code and somehow implement it in my app. 😂

That's how naive I really was, I had little idea of HTML and only a beginner's knowledge of Objective-C

But I found the code from Hpple (Created by Geoffrey Grosenbach) relatively fast. This helped me a lot in parsing the HTML.

History

2018 I started this as a project optimized for my iPad just for myself. I'm a software developer, but my last jobs as a developer were a long time ago and were mainly in C. I had to learn Objective-C first.

The project grew slowly like a project grows when you do it for yourself. In the beginning I was only trying to make it possible to play. Other features came little by little.

Finally I dared to make the app available to all Dailygammon players via the Appstore. Important for me was to implement the spirit of Dailygammon in the app. Free of charge and no advertising. Only the pure game should present itself to the user.

It came as it had to come. The more players used the app, the more errors came up. Partly due to different devices, partly from using the app in a way I never did. As a developer, you test your own work in a very limited way.

So it came one bugFix after another, smaller improvements and new features.

Constantly struggling with the shortage of time. The project became bigger and bigger.

Communication was/is also very difficult. My English skills are more those of a beginner. Complicated discussions with users were very difficult for me. But thank god i found deepl.com. it helps me a lot.

Future

You can find here an overview of what still needs to be done.

Help Wanted

Originally, of course, I didn't want anyone to touch my baby. I created all this in many nights and weekends.

But I have changed my attitude towards it. I would love to share it all with other developers and keep developing the project. There are some oddities to fix. And there are also quite a few features waiting to be implemented.

So I will welcome anyone as a contributer who meets a few of the following requirements.

  • Experience as a software developer in Objective-c and or Swift (this is very important, because I'm looking for support because of time constraints and I can't spend time to teach someone programming).

  • Experience in Git and github (I myself have only initial knowledge of git and github and we need to be able to work together via github)

  • Knowing the game of backgammon would be helpful of course, but is not essential. However, you need an account on dailygammon.com to be able to test meaningfully

  • I am also willing to rewrite the entire app if there are better solutions for a particular topic.

  • I am well aware that this help (possibly from several people) will cost me a lot of time at first. I will have to explain a lot why I programmed it this way and that way. I will go through the code from now on and try to comment some things inline. I will also change a lot of names that I have used in the code and are only understandable for German-speaking people 😇 But I am ready to go this way.

To new contributer

The best way to get started is to get an account at Dailygammon and play a few rounds on the website. This is absolutely free. No advertising! and no hidden costs!

Then you will better understand what I did in the app and why.

Of course I am very happy to help you with the first steps.

In order to give you a chance to understand what I was thinking about when I implemented it, I started to describe a little bit in a wiki.

Translated with www.DeepL.com/Translator (free version)