File: ch_foreword.tex

package info (click to toggle)
stellarium 24.3-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 911,396 kB
  • sloc: ansic: 317,377; cpp: 204,602; xml: 48,590; javascript: 26,348; python: 1,254; perl: 1,108; sh: 207; makefile: 190; pascal: 169
file content (203 lines) | stat: -rw-r--r-- 10,598 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
% Status info:
% 2022-09-19 Foreword for V1.0

\chapter*{Foreword for Stellarium 1.0}
\label{ch:Foreword}

\section*{Version 1.0?}

More than twenty years have elapsed since Fabien Ch\'ereau typed the
first lines of code of a desktop planetarium which should be based on
modern algorithms from computer graphics to provide a trustworthy
simulation of the night sky, utilizing OpenGL technology which best
runs on dedicated graphics hardware. What evolved from these first
attempts has turned into a beautiful program which has been
downloaded millions of times to run on desktop computers and notebooks
all around the planet, on various operating systems and in dozens of
languages.

In the first phase of development until around 2012, Stellarium's look
and feel were shaped. Since the time I first took notice of the
program, around 2008, it had already featured many functionalities for
amateur astronomers or simply laypersons who wanted to know what to
expect when they leave their house. Some user reactions from this time
praised its completeness in observer-specific features, e.g.\ the
Telescope Control and Oculars plugins, but also its ease of use. Its
Satellites plugin was capable of simulating even Iridium flares, which
are however no longer visible as the satellites have been de-orbited. 

Already around 2010 the first team of developers started to discuss
when the ``zero'' from the version number should be dropped. This step
is important in software development: a zero version signals a
program in development --- having rough corners, may be unstable, may
deliver wrong results or may have other deficiencies. Around version 0.11,
the user interface looked almost like that of today, a good decade later.
My stance in all those years was still 
to keep the ``zero'' until Stellarium's astronomical accuracy would
allow its use for historical research without headaches or
warnings. Stellarium should be a system that at least works as good as
other systems deemed ``reliable''. However, for a long time I always
had to warn my peers from the historical domains that in critical cases results should always 
be cross-checked with more accurate tools. Cross-checking still is
recommended, but it has become hard to find tools that were still better and
not just based on the same best professional computational models which we have
been starting to use in recent years. Appendix~\ref{ch:Accuracy}
provides some more details into this topic.

After the switch to the Qt5 programming foundation for the 0.13
release, most of the first developer team, whose work still forms the
core of the program, retreated, leaving maintenance and further
development mostly to the two of us, a computer scientist researching
in the domain of cultural astronomy, and another whose daytime job is
high school physics teacher. This somewhat influenced further
development. For simulation of historical sky views, more accurate
astronomical models had to be implemented. I admit, finding my way
through the code written by others was not easy, and despite some
institutional support we also cannot invest too much of our time into
software development. I was very happy to find a few good students,
especially Florian Schaukowitsch, at my former institute at TU Wien,
who implemented such unique features as the 3D sceneries, the RemoteControl
and RemoteSync plugins. This allowed me to one time stand amidst huge
sarsen stone replica in front of a $100\m^2$ screen with a tablet to initiate
the famous summer solstice sunrise in a special show for children in our
exhibition on Stonehenge. In regular operation, a script with narration,
a few artificial panoramas (``landscapes'') and photo insertions were used to tell the
story on the $25\times4\m$ screen. This was really impressive!
My other work to improve the astronomical
features of Stellarium concentrated on replacing, figuratively
speaking, ``sprockets'' by full-grown ``gears'' described in the
current scientific literature, until, finally, in mid-2021 we had a
program that fulfilled my demands. Time to drop the zero? Almost!

For more than a decade the Qt programming framework has been the
technical foundation of Stellarium which allows its deployment on
multiple platforms. Especially the Qt5 framework, which unified all
graphics output utilizing the OpenGL graphics technology, allowed
deployment on Windows, Mac and Linux systems ranging from 2008
Windows~XP PCs to the tiny Raspberry Pi~3 or 4 and similar SBC Linux platforms. Windows~7/10
PCs with insufficient graphics hardware could utilize Google's ANGLE
library which translated OpenGL ES2.0 (a limited subset of OpenGL
which does everything Stellarium needs) to DirectX. Almost all desktop
computer systems were capable of running Stellarium!

The Qt project has released its next generation of the framework, Qt6,
in late 2020. Stellarium has to follow Qt's development quite closely,
and so we rapidly decided that ``Stellarium 1.0'' still had to wait
until we upgraded the software onto the new Qt6, so that it will be
ready for further development in the coming years.

However, also computer platforms evolve. OpenGL has fallen out of
favour for Apple and Microsoft who favour their own graphics
libraries (Metal on macOS, DirectX on Windows), and Vulkan has been
introduced as modernized technical
successor of OpenGL. Therefore, the ANGLE library on Windows is no
longer supported with Qt6, and future developments may move away from
OpenGL. For the time being, we continue to use it, though.

Over the past year, we put most effort into this upgrade. Finally, in
late summer of 2022, Stellarium is ready for Qt6. But: is your computer
ready for it?

Qt6 has left some computers behind: it requires 64-bit processors.
Windows~10 and macOS 11.0 ``Big Sur'' are seen as minimum versions of
these operating systems. This poleaxes all those of us who try to keep
running e.g.\ observatory gear with somewhat older or outdated systems
or simply cannot afford the latest hardware.  What can we do about
this?

The last purely Qt5-based version was version 0.22.2 released at June
solstice 2022. For several years now, the number after the zero has
indicated the year of release, and many users have already dropped the
zero mentally when discussing versions.  The logical next number for
the autumn 2022 release would have been 0.22.3.

In fact, we can still produce Qt5-based builds with the same
functionality from the same source code. But we wanted to base ``1.0''
on Qt6, right? Yes, and we still do, but not as we had hoped. We
cannot leave behind Qt5 so fast without alienating you, our users!

Instead, we resolved upon the following: We keep the internal series
number 0 for Qt5-based builds, and use series 1 for Qt6-based
builds. This is the number which is part of the downloaded
installation package.  But is version 1.22.3 ``better'' than 0.22.3?
Not necessarily. It is the more modern, sure, but it provides the same
astronomical results. It requires more modern hardware (64-bit and
esp.\ full OpenGL driver support on Windows!), and has tiny
differences in the scripting capabilities (see
chapter~\ref{ch:scripting}). However, in terms of features, both could
be called ``Version 22.3''. Just like that? No, sorry.
We really want to label this release, which signifies both ``accurate'' and
``future-proof'', as something special. Therefore we give this release
the version number 1.0 to mark ``\emph{Stellarium is finished}''.

Of course, software is never finished, as over 250 ``issues'' on
Github still are unresolved, and we still have ideas for more. The
next release, probably due at December solstice 2022, will be called
version 1.1, but then we will go back to year-based numbers like 23.1,
23.2, etc. We will see from our download counters how much demand will
there be from you for future Qt5-based builds and when it will be time to retire
the 0 series.


\section*{What changed visibly in version 1.0?}

Just as we prepared for this release, our contributor Ruslan
Kabatsayev came forward and announced that his development of a new skylight
model has come to a point where it is ready for deployment. I had
followed this development for years with great interest as it really
provides a stunning simulation of twilight colors. So, apart from minor
improvements elsewhere, the most notable change you will be able to
enjoy is this new skylight model. Unfortunately though, for technical
reasons, this mode is not available for Apple computers with their
peculiar OpenGL implementation.  See chapter~\ref{ch:skylight} for
details.

Another notable recent development are contributions of Worachate
Boonplod who concentrated on eclipse and transit predictions in the AstroCalc
module (see section~\ref{sec:gui:AstroCalc:Eclipses}).  This also
combines superbly with the new eclipse sky simulation!

\vspace{2\baselineskip}
\noindent In the name of all prior and current developers we wish you much enjoyment with
this and future versions of the Stellarium desktop planetarium!

\begin{flushright}
\textbf{Georg Zotti} \\ \emph{September 2022}
\end{flushright}

\vspace{2\baselineskip}

\noindent It has been a long and difficult road to reach version 1.0\ldots

I joined the team in 2010, first as translator, then with increasing
program contributions, with translatability for sky cultures the first
main contribution appearing in version 0.10.6. I remember my first
meeting with other developers in IRC around middle of November 2010,
where one item of the agenda was\ldots ``Releasing version 1.0''. We were
very, very optimistic in those days. In our imagination after version
0.10.6 would be released Stellarium 0.11.0, maybe 0.11.1 and we would
be ready for version 1.0, because the list of features for version 1.0
in Matthew's list was almost complete.

Well, the next 12 years we've fixed thousands of bugs and added
hundreds of missing and new features to really reach the version
1.0. It included a painful time of migration from Qt4 to Qt5, the time
of rewriting many parts of the planetarium, the time of fixing the
``minuscule issues'', which in reality often turned into huge and
bloated problems\ldots

I'm happy and proud that we have overcome all these troubles and have
reached version 1.0! But this is not the finish, this is just the
beginning of another long way\ldots My congratulations to all prior
and current community members!

\begin{flushright}
\textbf{Alexander Wolf} \\ \emph{September 2022}
\end{flushright}


%%% Local Variables: 
%%% mode: latex
%%% TeX-PDF-mode: t
%%% TeX-master: "guide"
%%% End: