If you have access to Andronaut and Curiosity, you may have noticed a new update in recent weeks: version 0.9. This version will be the final release candidate before version 1.0.
A number of new changes have been included in recent versions, including support for multiple architectures for the same platform, much faster compilation times, better support for multi-platform development, easier installation on Mac, better support for CI infrastructure, support for custom signing keys, and the use of licenses. Version 0.9 of both systems also comes with Fawn 1.6, which reduces project requirements, reduces the required system permissions on Android (no permissions are required anymore), reduces binary sizes, supports multiple-resolution assets, supports gradient backgrounds, includes better support for animations, removes a number of libraries, simplifies the API, and is 100% documented.
We have seen many improvements ourselves from using this new version. For example, we have been able to reduce the number of lines of code in Magic Cookies by orders of magnitude. We have also seen compilation times of less than one minute, from scratch, for basic mobile Haskell apps using reactive values, and similar re-compilation times for full mobile games. We are also seeing games completed in just a span of weeks to 1-2 months.
Andronaut and Curiosity 1.0
The upcoming version 1.0 of Andronaut and Curiosity will feature a much more advanced testing system, which will ensure that even advanced features keep working as you continue developing and new releases do not affect your player’s experience. It will also include better support for vectorial animations, reduced binary sizes, and better support for web-based GUIs.
We invite you to reach out to us to help adapt your mobile Haskell apps and projects to make the best use of these features, or to develop your next app or game.
Mobile & Game Programming, Haskell, and Academia
We are currently planning to start reaching out to academia to use some of our tools in Haskell and game development courses, and to collaborate on joint research on functional and game programming. If you would like to be a part of this effort, please reach out to us via email, at email@example.com, explaining your position and academic or research institution, and the topics you are currently engaged in. We will reach out to each person individually, to discuss possible connections and ways that our tools can help train the next generation of functional programmers.
Sustainable Open Source
As we approach the release of version 1.0, we also wanted to address a common topic of concern among members of the Haskell community. We have been approached by many people over the last three years who want to use our tools, many of which have asked which parts will be released as open source, and when. We are continuing to release parts of our infrastructure on github.com, and will continue to do so in the upcoming future.
Unfortunately, offers from paying users as well as those from users from the community who want to see a good open source solution have also been accompanied by a number of messages from different people and organizations that have not been as welcoming. We have been directly and unambiguously threatened to be pushed out of the market unless we gave full, free access to all our work to other companies in the Haskell community. We have been continuously criticized, in private and in public, for not giving everything to everyone for free. Because those companies operate in the same market as we do, and some enjoy a more favorable position, conceding to them, or even just conceding to users’ request to release everything as open source, would be immediately increase our risk, increase our maintenance cost, decrease our profit, and threaten our very existence.
Although we do understand everyone’s desire to have access to a professional solution for mobile Haskell, we need to take steps carefully in a way that does not threaten our business, and that aligns our benefits with the Haskell community at large, and with our customers. If you are a company or person who would like to release a commercial app or game, then we are happy to assist and even complete the project for you. If you are a company in the Haskell community that would like to have access to professional mobile Haskell tools, then simply reach out to us. We are more than happy to arrange an agreement that benefits both our companies without putting either at substantial risk, as we already have with many others. If you are a member of the Haskell community who wants us to release more open source, including Andronaut and Curiosity themselves, then we ask that you help us reach more users with the games that maintain our business, and that you help us maintain the open source code we have already released. By doing leaves us in a better position where we can afford to release more as open source, and reaffirms the idea that most members in the community have good intentions, and we are all willing to collaborate in a friendly way towards a common goal.
We understand that this approach may be slower for some, but responsible towards our customers, our users, our employees, it ensures that we can coexist in the community and that we can continue releasing more open source. In the long term, it is the strategy that will benefit every Haskell users the most.
We hope that, as we grow and walk into the next stage of Haskell games and tools for mobile Haskell, we continue to grow responsibly, and we bring more Haskell jobs, more professional development tools, and more open source, to all members alike.
Thank you for your continued support.
Have fun, and Happy Haskelling.