[kde-edu]: [RFC] KPhysics - Interactive physics experiments for KDE

Jure Repinc jlp at holodeck1.com
Thu Apr 27 21:59:14 CEST 2006

Jason Harris wrote:

> I think it's a great idea for an Edu app.  I actually have toyed with a
> similar idea myself, but I don't have time to maintain another KDE app,
> so I'm really glad to hear this proposal.  I even have some code laying
> around somewhere for a gravity simulator, which could possibly evolve
> into one of the KPhysics modules.

Great to hear that there is already some code for a similar idea that I
can look at and learn

> Jure Repinc wrote:
>> So here are my plans for KPhysics.
>> I would like to make it as modular as possible. For example there
>> be a framework with user interface. All the experiments would be in
>> plug-ins (so that anyone could add/remove experiments as easily as
>> possible).
> I think this is the right approach.  I wonder if (eventually) the
> experiment modules could be abstracted such that they are not even
> plugins, but simply machine-readable descriptions of the experimental
> setup (perhaps an XML file?).  This would really allow anyone to write
> new experiments, and we could just concentrate on making a flexible,
> robust physics engine, and maybe a GUI module editor.  What do you
> think?  Probably to start out, it will be easier to simply code
> experiments as actual classes in the program, but keep the
modularity in
> mind when designing the class structure.

Yes I was thinking about that too. But it all seams like way to hard to
do for my level of programming knowledge. If I have the wrong feeling
about it and it is not that hard to learn and do then sure I can try
making a physics engine to use XML files. It will be much simpler to
create the experiment modules then. But I guess that it is still to hard
for me currently and that I will try with normal plug-in experiments.
But I can sure keep in mind that possible future expansion when
designing the structure.

>> Those experiment plug-ins would contain one experiment (in
>> picture, interactive graphics (maybe even OpenGL), ... ) and
>> about it (in HTML). Each plug-om would also have some properties like
>> what type of experiment it contains so that you can filter them
from the
>> user interface (disable OpenGL experiments automatically if no support
>> is found on the system, show only experiments from certain filed of
>> physics, only experiments for certain level of education system...).
> This metadata about the experiment modules is a good idea, and could be
> stored in the XML file (or whatever) that describes the module.  I
> it's possible in Qt4 to seamlessly use OpenGL when it's available, and
> fall back to normal graphics calls when it isn't.

Great. Maybe metadata should be in XML in all cases and depending on the
data (including comments) it would read the rest of XML about the
experiment or just tell the GUI/framework to  load some specified
library (or other form of plug-in, I don't know yet how this plug-ins
systems work) with coded experiment and display the output.

>> How hard is it to make this framework/plug-ins structure?
>> Keep in mind that I'm only a beginner C++/Qt/KDE programmer, but
>> to learn a lot this summer. But I guess I would need quite a lot of
>> and answers from you guys and girls with much more experience.
> To begin, I would concentrate on the framework only.  You can hard-code
> a few generic experiments, just to give the framework something to
> on", but early efforts should be more-or-less devoted to making a
> well-designed backend physics engine.  Just my $0.02.

Yes the framework will be the first priority. And there will be just a
couple of simple experiments of different types to test the framework. I
think that unit testing could also play big part here. Right? I just saw
the first part of some tutorial on unit testing with Qt/KDE that I could
take a look at.

>> Is it that much harder to program for KDE4 then for KDE3. How fast are
>> changes in API? Is there any history/changelog of API changes that is
>> updated regularly and that I could easily follow?
> No, in fact, it's meant to be even easier :).  You'll have to throw
> some KDE3 habits, but once you do, it's a brave new world.  It's true
> that kdelibs is still a moving target, but it's actually not too
hard to
>   keep up with it.

Nice to hear this. I think it will not be hard to throw away many
habits. Simply because I don't have so many as I'm still a beginner in
C++/Qt/KDE programming. All that I was concerned with is this moving
kdelibs target. Do you know what is the best way to keep in touch with
the changes?

>> Would anyone be willing to be my mentor for the Google Summer of Code
>> 2006? Is this even the right kind of the project for SoC?
> Hmm.  I really should say "sorry, I don't have time", but I really do
> not want to turn my back on this proposal.  So I will do it if no one
> else steps up :).  As for whether it's a good SoC project, my only
> concern would be the scope of the project.  It's probably not realistic
> to expect a fully-fledged KPhysics at the end of the summer, but maybe
> if you propose developing the physics engine framework as a
> proof-of-concept (perhaps with only some parts of it implemented, like
> simple mechanics, collisions, friction, gravity, springs, etc.), and
> then you can keep going with it after SoC is over.

Thanks for your offer. I hope that someone with more time will be able
to help and that I don't eat to much of your valuable time. I like
KStars a lot and I don't want it to suffer just because of me :)

And I agree, the size of this project and the fact that I'm a beginner
and it would take a lot of time to do it are the reasons I ask if this
is even sutable for SoC application. The money would sure help as I
wouldn't have to work during summer and which would allow concentrate
only on the project. But if this isn't possible I sure hope that I could
have a mentor who would help me as if I was in SoC.

> Great idea!  Good luck,

Thanks for all comments!

Would you know anything about the problems with KDE mailing lists
server. I had to send the first message a couple of times before it
showed up. And I have already sent this reply to the kde-edu list a
couple of times but it still didn't show up. Who should I contact about
the mailinglist server?

JLP's Blog - http://jlp.holodeck1.com/blog/

More information about the kde-edu mailing list