In keeping with my promise from last week to post regular updates, I present to you this: a Friday the 13th (ooo scary) update containing features added to Prometheus this week (not scary) and a general rambling about the absurdity of writing astrology software at this moment, in the turning of the age (kinda scary).
The big feature this week was real-time aspect calculations for the inner bodies. Aspect calculations currently include conjunction, opposition, square, and trine. Orb is set at 8 for these aspects at the moment (adjusting orb is a future feature), however, I am attenuating the aspect indicator based on distance from partile. Or in English: the stronger the influence, the thicker the line. So while an orb of 8 might be generous (this seems to be the historical default for the major aspects) seeing the strength of the relationship in a simple visual way will make it easier to interpret the relationships. Or at least, that's my hope.
In keeping with the entire raison d'être of Prometheus, the calculations of the aspects are done in real time, which makes scrubbing through time... hypnotic.
After implementing this feature I basically just fast-forwarded through time watching the aspects light up like the web of some insane fifth dimensional spider. All of the calculations (positions and aspects) take around 1 millisecond per frame on my machine, and that's with debugging tools attached. So far I'm pretty happy with the speed of things.
And it's not just about looking cool (although it does look cool). With these real-time aspects it's a lot easier to see who's doing what to whom as you move forward and backward through time.
Another, more minor but still cool feature this week, is highlighting. By hovering the cursor over a body, either in the list or in the wheel, that body will highlight and only its aspects are shown. This makes it easier to isolate the relationships of a specific body. "What is actually happening with Saturn here?" Just hover over it and find out!
Highlighting is also a prelude for a real-time filtering feature that is on the roadmap. Filtering will make it easy to highlight a set of bodies to focus on while moving through time—part of improving election finding.
Side note: I bet, over the course of updates on Prometheus, I'm going to get very tired of saying "real-time".
Now is an interesting time to be writing astrology software. For one thing, having Saturn, Pluto, Jupiter and Mars, all on top of each other, then brushed through by the moon, is a damn fine test case. This was particularly relevant while I was implementing what I call "grouping", which is the algorithm that determines if bodies are close to each other and then groups them together with spacing, so they don't overlap. It was a non-trivial feature, but also happened during that fever-dream of two weeks of prototyping, so I haven't talked about it. At some point I might dive into that more deeply, or just talk about the general insanity that is programming with round things. From a programming perspective, round is hard.
But besides the current alignment of planets being a good test case, it's also just a crazy fucking time to be learning astrology. The insanity of the world is so directly reflected in the insanity of the heavens right now. It's not abstract, it's fucking happening. A side effect of this is that writing astrology software, right now, is a potent act of magic. All acts of creation are potent magical acts, but Prometheus carries within it the mark of our current crazy times. I'm being careful not to interpret the current astrological climate because I don't feel confident in my ability as an astrologer, but you don't have to know a lot about astrology to see what's happening in the chart, and feel what's happening in the world. Every time I work on Prometheus, I'm getting like a full canon blast to the face of what-the-fuck.
I guess if I would have had the skills to elect a time to start an astrology software project, I might have picked something different. But too late now! All I can do at this point is keep working hard, stay vigilant, keep the main reefed, and shoulder on.
Speaking of roadmaps, let's talk about roadmaps. Roadmaps can be good. Sharing them with the world is sometimes not so good. Another name for a "roadmap" is "a list of lies". I have a general idea of where I want things to go and that's the best I can do right now.
So instead of a roadmap, what I would like to offer is the promise that I will continue to post updates on what actually happened, instead of speculation on what will happen. I mean I might speculate, I might even divine, but I won't promise.
Along those lines, you may have noticed that Prometheus is... kinda ugly. Well maybe not ugly, but at least, minimal. That is by design. By keeping the presentation minimal I am also keeping myself from getting locked into any particular UI metaphor. At this point, I have no idea what Prometheus is going to look like. The less time I spend now on bad assumptions, the faster I can move and the less time I'll have to spend later redoing things. This isn't my first rodeo.
However, that does mean that at some point there will be a massive pass on presentation and design. Until then I ask that you engage your imagination and look through what exists today and into the shiny future of the cool thing it will be.
However! If you have thoughts on what you would like to see, or what Prometheus should (or should not) have for features, please let me know! My contact info is on the about page. Also, let me know if you would like to be considered for user research or testing. I'm going to need a lot of help.