Happy news, but please don’t be disappointed :)

Well, maybe more happy for me than you – my son Jonathan was born on 15th of October (this is our number 3). This joyful occasion is the main reason, why things have slowed own on the Fractview side (oh, and we just moved to a new home two months ago…) – apart from that the next Fractview update will be basically a complete rewrite of the app and therefore involves a lot of work.

I therefore want to share with you what has happened in the past months with Fractview and in which direction it is heading.

Modularized development

I have split up development amongst multiple projects; I use a completely new compiler for the backing programming language and there will be some new language features. The advantage is that major updates are much easier this way and I consider the backing logic behind the UI to be feature complete and in beta status.

What does that mean?

Well, it means that using this modular development, I was able to implement a feature that allows to view and edit multiple fractals on one screen. And this is just amazing and a lot of fun. Let me show you a screenshot of my current test version:


The fractal uses “iabs z ^ 3 + p” as function and its julia sets look just weird. And, you can edit the julia parameter interactively in the mandelbrot set  (YES! It works, it was a lot of work but totally worth it!) and thereby explore all julia sets using the mandelbrot set. And of course other parameters can be modified too. It is really fun and I guess this will be the biggest thing in the next major version.

UI Changes

Apart from the ability to view two screens side by side (theoretically, you could view as many as you want but I just don’t know how to do a reasonable menu in that case), everything is now full screen. The controls are sliding in from the side – the app menu from the left and the parameter menu on the right (if you use a right-to-left font it will be the other way round if I understood Android’s documentation correctly.)

Here, take a look:


Neat, hm? Ah, and also, if in a fractal a parameter is useless (for instance all the light parameters if you don’t use the light effect), it will not be shown.

So, I cannot really promise when I would finish the update but every day I get some minutes  of progress on Fractview, and the good news is that as of this week I managed to clear out all major bugs concerning drawing and interactively editing points. The “only” thing left is to re-implement/adapt the UI-part.

So, bottom line

Most importantly: Mother and baby are doing fine apart from the usual 🙂

And, maybe more interesting for you: There is of course plenty of life in Fractview, plenty of active development, and there are amazing new features around the corner, I just cannot make many promises where the corner is, but I will now keep you up-to-date more frequently. Until then, thank you for all these amazing reviews and your suggestions for improvements. None of it is lost, I collect them all.

So, thank you for your patience, cheers and happy fractaling 🙂

All the best to you all,


P.S: Fractview is completely open source and hosted on github. Currently development happens in the meelan2-feature (Meelan is the programming language that I developed for Fractview) branch and if you want an update from the source, just look at the commits.

Posted in Uncategorized | 3 Comments

Here be dragons…

Hello, will release a new beta in the next days – mainly technical updates and bug fixes, but this will be the last purely technical update. So next stop will be some new features. But in the meantime, here is the new Fractview icon:

Yes, its from Seahorse valley. But it was taken in a different way. Let me explain: The mandelbrot set serves as a map for julia sets in it. What is not known that much is that you can invert the mandelbrot set by using the reciprocal of the coordinates, kind of turning the mandelbrot set inside out.

Inverse Mandel.png

Mandelbrot set of the formula “mandelbrot(z, 1 / p)”

The heart-shaped body effectively becomes a drop.

The other day, I was browsing through sea horse valley on my smartphone when suddenly I had an idea: In this ‘drop’ fractal, features close to the origin (0, 0) are enlarged to infinity while features far away are centered. What about not using the origin but some other point that exhibits more interesting features than the (boring) origin?

So, the formula that I was exploring was “mandelbrot(z, 1 / p + somepoint)”, and the results were so amazing, I immediately created a new icon for Fractview (the feature graphic of this blog post).

Let’s look at the result: First, the second biggest feature in the mandelbrot set is  the circle that is centered at -1:0. By inverting it using -1 we obtain a rounded inside-out mandelbrot set. It reminds me of a fractal solar eclipse.

Mandelbrot Eclipse.png

Mandelbrot set of the formula “mandelbrot(z, 1 / p – 1)”

Now, that  is a nice plate. But where are the dragons? Well, I tweaked the Default fractal program a bit (you will find it in the presets at the end of the article) and now apart from the “julia set” flag, there is now a “reciprocal” flag that uses the current julia point as parameter. If that was a bit complicated, just import these favorites from my public Google Drive in Fractview. You will find “Default with reciprocal” there. Just browse to a nice spot, eg in the sea horse valley, select “Center” for “julia point” in parameters and toggle the “reciprocal” flag. Looks boring? Remember – features that were close before are now far away, so zoom out, and then

Enter the dragon.png

Enter the dragon

You will find the dragon at the edge of the known world. On your way there, you will find weird shapes (well, these are fractals, right?). Really weird I mean.  I found this when looking at a julia island in the dentrites:

Seahorse lightning.png And after zooming out for another factor of 20 it completely changed: Confused Dragon.png

Yes, both of these images are just a zoom factor of 20 away (the above image is located in the center, you can see it as a small dot right in the center of the lower image).

All of these lovely images are part of the collection linked here again. 

Finally, a lovely image using 0.279 as julia point:

Dragon (0.27x0).png

That was some fun on the weekend 🙂

Stay tuned for an updated beta version in the next days btw, and until then enjoy the endless possibilities of Fractview. Btw, 5600 users and counting.

Cheers, and enjoy your weekend


Posted in Fractals, Mandelbrot, Updates | Leave a comment

Beta version 3.2.3

Hi, just a quick note: Since I noticed that there was a significant amount of crashes in newer Android versions I checked and fixed a bug. About the details: On Android 7 and 8 the app might crash if you try to export your favorite’s collection or if you share an image (saving to the gallery or saving the image as a wallpaper works).

I fixed these two bugs in the current beta version and if there are no reports of further critical bugs, it will be released as version 3.2.3 during this weekend.

If you can’t wait, you can become a beta tester via the google play store.

Version 3.3 is still to come, so hang on 🙂

Have a nice weekend,

— Karl

Posted in Updates | Leave a comment

Lyapunov Fractals

Lyapunov fractals are very interesting. The basic formula rx(1 – x) is well-known from Bifurcation diagrams. In Mandelbrot sets, the parameter r is the current point (in fact, this is the Lambda preset). Nonetheless these fractals look completely different from other common fractals.

Basic idea

In Lyapunov fractals, the most important input is a sequence that consists of two characters. These characters represent the value of r in the formula given above. The character “a” in the sequence is the x-coordinate while “b” is the y-coordinate of the current point.
So, for instance, if the current point is 1:2 and the sequence is [a,b,b], then the sequence actually represents the values [1,2,2,1,2,2,1,2,2,…] and hence first three values of the orbit are 0.5 (the start value), 10.5(1 – 0.5) = 0.25, 20.25(1 – 0.25) = 0.375, …
The final color is then determined using the lyapunov exponent. If you want to know more, Wikipedia provides an amazing article.

Lyapunov fractals in Android

Apart from Fractview, there are currently no apps that can draw lyapunov fractals in the Google App Store (based on a quick search on 2018-02-17). There used to be a nice app by Matthias Urban who still hosts his app’s source on github, called “Ljapunow Fractals”. Thanks to Matthew who provided me with a working copy of the app that is unfortunately not available in the playstore anymore.

Tweaks in Matthias Urban’s Ljapunow Fractals

Matthias Urban’s app contained many parameters, amongst them a parameter “Warm Up” that basically initializes the sequence with some amount of iterations. This parameter can be used to add some perturbation to the sequence (if the WarmUp value is not a multiple of the length of the sequence).
Another parameter was the trigger for this blog post: Matthias Urban uses three parameters for lyapunov fractals, a, b, and also c. Unfortunately, “c” is not used for 3D-Lyapunov fractals (that would be sooo cool…), instead “c” is the negated previous value. I could not find a particular use for “c”, and it is also not used for Lyapunov fractals in the demos of Matthias’ app (it is used for Newton sets there).

New Lyapunov Program

In Fractview, it is not possible to easily add a third parameter “c”, mainly because “c” is used for the coordinates of the current pixel. Nonetheless, I implemented an improved version of the Lyapunov preset. It provides the following tweaks:

The warm-up parameter

The following image shows Zirkony Zity with a Warm Up of two:

Blog Lyapunov Zirkony Warmup.png

The possibility to use a function different from r * z * (1 – z)

The following image uses “r * z * exp(z)”

Blog Lyapunov Exp

And this use uses “r * cos z”. Neat, right?

Blog Lyapunov Cos

Hint: If you use other formulas, you should use a root of the first derivation of Function for the Init parameter (for instance, the exp-fractal above uses -1 while the cos-fractal uses 0 as Init value).

Custom values in the sequence

Now, it is possible to use not only a and b but to enter any expression for r in the sequence. To simulate the c parameter of “Ljapunow Fractals”, use “-a” or “-b”, depending on the previous element. You can also use other expressions that return a real value for r. In the following image, I use the sequence [a,a,a,a, 1/z, b,b,b,b,1/z] (z is the current value of the sequence):

Blog Lyapunov Recurrent

All this has a price though – the more custom parameters,  the more chaotic the border of the fractal becomes.

Import Lyapunov Favorites

To import this new Lyapunov fractal program, follow this link to my public google drive repository and download the text file onto your Android Device. In Fractview, head to Favorites, select “Import” and in Downloads choose the text file that you just downloaded.


P.S.: Fractview now has more than 5000 users, thank you so much for your interest and I am glad that so many enjoy this app. I am currently actively implementing a new version of the backing programming language and I hope to provide an update within the next 1 or 2 months. Cheers!

Posted in Fractals, Uncategorized | Tagged | Leave a comment

Merry Xmas and a Happy New Year

Hello, dearest Fractview user,

I wish you a merry christmas, and thank you all for the rising numbers in users, improving reviews and all these lovely images on Facebook, Instragram, DeviantArt and many more. In case you don’t have a christmas tree, I attach two fractals that use a (simple) christmas tree as an orbit trap. Although the version using the mandelbrot set is not that spectacular (until you light it, but that is only allowed on christmas eve 😉 ), there are amazing julia sets. See my favorite phoenix set for yourself:

xmas phoenix.png

Switch on lights to obtain an amazing 3d effect.

I hope you can enjoy your holidays with your loved ones. For the new year, there are some amazing updates pending (no color cycling yet, but how about orbit traps in lyapunov fractals?).



Posted in Fractals | Leave a comment

Fractview Release of 3.2.2, DeviantArt-Group and perspectives

So, I released version 3.2.2 some days ago, and I hope that you enjoy the increased stability, the tutorial and the import-export function of favorites. Again, here is a link to some of my exports. You can download it onto your phone and then import it in Favorites.

These are actually my favorite images that I generated with Fractview so far that also are calculated in a reasonable amount of time. And speaking of favorite images, Matthew, who helped a lot with feedback during the release of Version 3.2.2, started a Fractview-group on DeviantArt.

I also removed many feedback messages that I think were mostly annoying (it is good to know that Fractview draws the mandelbrot set in less than 1 second, but I think that the progress bar is enough feedaback).

And some new types: Geometric shapes for the Fold-Program, two variations of the Simonbrot fractal and distance estimation for the mandelbrot set (also in Fold).

About the import/export

Technically, the export format is Json, and Fractview now uses the gson library to export data. So, you can easily manipulate these files and re-import them (the icons take up most of it, it is a PNG-file encoded as Base64). You also can find online Json Editors.

The import/export function works fast and reliable in my experience (takes a few seconds if you import/export 1000 entries). There are no directories or tags to arrange your collection but you can set a common prefix for all selected entries (if you import a new collection, the imported entries are automatically selected) and this way simulate a file structure.

About the tutorial

The tutorial is work in progress and it will be extended in the future. Please help me improving it by providing feedback on typos, grammar mistakes etc… I will add a few more pages in the not-too-distant future, for instance a list of all functions that are supported by Fractview.

About the increased stability and some numbers

First, apologies to all Intel users. I don’t know why Renderscript (the GPU-programming-language used by Android) does not work on Intel phones but I am afraid it is out of my hands. For all others, there are already 1500 installations of the new version and no crash report yet. According to the google play store, there are currently 4556 users. On average there are about 50 new users per month (welcome).

What is next?

Next, I will not work on Fractview for some weeks :D. These last weeks I definitely spent too much time on it. There was a lot of code polishing and the code base of Fractview is now nice and solid for further extensions. So, after a break I will work on new features. This is a list of some ideas that I currently have. It is not complete and not all features will be implemented.

Version 3.3

Minor changes: Fix all crashes that come up until then, add further fractals to the presets.

Then the following improvements:

  • Parameter editor: Yes, it is actually annoying: Tap “Edit”, tap the value, change value, tap ok, tap ok. So, high priority is to integrate the parameters in the main view using some transparent swipeable view. So, tap “Edit”, tap value, tap ok and already see changes in the background. Swipe away edit view.
  • Show wait-dialog when importing/exporting large collections.
  • Allow to copy/paste parameters directly from the context menu.
  • Show a coordinate system: This will be fun, some maths.
  • Allow to export sources and palettes similar to Favorites import/export.
  • Improve Source Editor. If you use the source editor, you have my heart-felt apologies.
  • Allow variable maps in derivations (necessary for generic distance estimation).
  • And, I want a new icon (suggestions are welcome).

Version 3.4

A render-mode for really arbitrary large images that are rendered in some background demon. Maybe even support for videos (but on the other hand, it is still a mobile phone… but who knows…).

Version 3.5

I am currently re-implementing the Meelan compiler. Hence, there will be some improvements for the programs that generate fractals.

  • Better descriptions of parameters
  • Syntax highlighting for the source editor
  • Better support for syntax errors.
  • Classes
  • More possiblilties to merge fractals.
  • It should be possible to create some kind of fractal-toolbox – for example use fold and orbit traps and combine it with lyapunov fractals.
  • Dragging parameters on-screen
  • Maybe a split-screen approach to view Julia sets next to mandelbrot sets.

Version 3.9

Preparation for version 4

  • Change the drawing procedure to automatically use super-sampling and depth information (3D).

Version 4

Allow do change colors and lights by using drag-and-drop gestures. This would be sooo cool and I hope that Fractview will reach this point within a year or so.

Lots of dreams, but we will see where the journey is taking us. For now I am very happy that Fractview gives joy to so many people.

And there is no picture here. Huh. So, here is a green one. Remember when I used geometric shapes in the Fold Program? In this picture I use the z-value as one point on the line that I use for the shape. This leads to very nice curvey images. You will find this image also in my favorite 16.fractview1479425740.png

Posted in Uncategorized | Leave a comment

Release candidate for 3.2.2 – Quickstart Tutorial and some of my favorites

In the next days I will publicly publish version 3.2.2 of Fractview. This version will bring improvements on the precision of functions (still 32 bit but the number range is now much higher), the export function for favorites and a tutorial. Since copy/paste of the tutorial into wordpress and keep it up-to-date is a lot of work, please check it out on github. Please tell me about typos and suggestions.

There were some improvements on handling multiple imports/exports. I thought of adding a tag-system or directory structure, but in the end, I just allow to export/edit multiple entries based on common prefixes. This is good enough to simulate a small directory structure while still being not too over-complicated.

And in order to test it, here are my personal favorites, a nice selection of 16 fractals that I collected over the last years. Some of them you will also find on deviantArt.

Collection of 16 of my favorites

Download this text file (it is a Json file, icons are in PNG format, encoded as Base64), then select “Import collection” from favorites.

The new version is very stable on my phone, so I call it “Release candidate”. There might be some additional fractal types but it is definitely feature complete.

And if you missed the link above:

Link to the quickstart tutorial

And, some people asked whether I accept dontations, yes, I do, just follow this link.

— Karl

Posted in Fractals, Updates | Leave a comment