Help gauging the difficulty of contributing

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Help gauging the difficulty of contributing

chris233
Hi,

I'm interested in hearing how steep the learning curve other developers believe Freeplane poses to someone who is relatively new to Java.

For instance, I know what OSGi is, but I have never used it. Will I need to know how to work with OSGi before I can contribute any code?

Most ambitiously, I'd like to be able to have Freeplane work a bit more like TheBrain, with multiple parents and "jump" links (understanding this may or may not be accepted for inclusion in Freeplane). Less ambitiously, I was thinking that some option to simplify the GUI for new users would be helpful. When I first started using Freeplane I found all the options overwhelming.

That or any other advice before I try jumping in would be greatly appreciated! Thank you!

Chris
Reply | Threaded
Open this post in threaded view
|

Re: Help gauging the difficulty of contributing

Felix Natter
hello Chris,

> I'm interested in hearing how steep the learning curve other developers believe Freeplane poses to someone who is
> relatively >new to Java.

> For instance, I know what OSGi is, but I have never used it. Will I need to know how to work with OSGi before I can
> contribute any code?

You don't need OSGi skills to start with! You must understand a few details if you want to develop a plugin,
but usually just copying from existing plugins should work.

> Most ambitiously, I'd like to be able to have Freeplane work a bit more like TheBrain, with multiple parents and "jump" links
> (understanding this may or may not be accepted for inclusion in Freeplane). Less ambitiously, I was thinking that some
> option to simplify the GUI for new users would be helpful. When I first started using Freeplane I found all the options
> overwhelming.

Freeplane supports multiple parents using clones, but not visually. I think that adding full graph capability (which
is what your project would mean) is _very_ much work because the layout code is very complex.
I personally think that full graph capability would not be good for structuring ideas, compared to the
current tree structure.

Don't we have "jump links" by means of local hyperlinks (Edit->Link->Set Link Anchor / Make link from anchor)?
Is that what you want?

> That or any other advice before I try jumping in would be greatly appreciated! Thank you!

I don't think it's particularly easy, especially with very ambitious goals
We will support you, but you need motivation. So, I think you
should start with easy tasks such as small bug reports, or features that do
not interact deep with Freeplane code.

> option to simplify the GUI for new users

This is kind of imprecise. A year ago, a ribbon UI was considered, but was dropped due to user interest.
Not that this was a huge project, even for Dimitry, the lead developer, and others.

Please don't let this scare you off - there _are_ tasks that you can do, and you can improve your java
skills along the way :-)

Cheers and Welcome to Freeplane,
Felix
Reply | Threaded
Open this post in threaded view
|

Re: Help gauging the difficulty of contributing

Dimitry Polivaev
Administrator
In reply to this post by chris233
Hi Chris,

you do not need any previous OSGi experience to work on Freeplane. Poor code quality and lacking unit test could rather be a burden. Freeplane and its predecessor FreeMind were developed at times where higher coding standards and practices were not known yet. I think we have learned a lot in the last years. On the other side Freeplane ia definitely far from being the worst case: different people with different levels of experience were able to make significant contributions.

You can get all help and guidance from me and other people worked and working on the project as much as you need. We could help you to setup the development environment if need it. We can talk, chat, use screen sharing programs and even do some pair programming. We need just agree on time. By the way, where are you from and which time zone do you have? The most Freeplane developers including myself live in Germany.

I suggest that you start by discussing your ideas in the freeplane discussion forum https://sourceforge.net/p/freeplane/discussion/758437/ . Discussing new ideas in the forum would let both power users and developers give you feedback before you start coding. Describe all your ideas. It could help you to choose the idea you want to implement first and maybe improve it. If you have ides how to simplify GUI I would like to know them. Also other ideas can be interesting.

Regards,
Dimitry


> Hi,
>
> I'm interested in hearing how steep the learning curve other
> developers believe Freeplane poses to someone who is relatively new
> to Java.
>
> For instance, I know what OSGi is, but I have never used it. Will I
> need to know how to work with OSGi before I can contribute any code?
>
> Most ambitiously, I'd like to be able to have Freeplane work a bit
> more like TheBrain, with multiple parents and "jump" links
> (understanding this may or may not be accepted for inclusion in
> Freeplane). Less ambitiously, I was thinking that some option to
> simplify the GUI for new users would be helpful. When I first started
> using Freeplane I found all the options overwhelming.
>
> That or any other advice before I try jumping in would be greatly
> appreciated! Thank you!
>
> Chris