Thank you for your responses.
My reference to "OpenSource" was probably a reference to timing as much as anything.
And, Yes, I recognise that people, or organizations, such as Google, have made things more difficult because of their push to keep apps current. To be honest it got me to the stage of not wanting to continually upgrade my earlier apps because as a single developer with other obligations it just got too hard timewise.
But it would be nice if, and if it was ever possible, to keep a similar style of language to what previously existed and with a lesser number of steps.
Yes I know you have upgraded things to accommodate more complex settings.
At one stage, I was developing an app that was clearly ahead of the pack because similar apps didn't start to appear for about 2 years. Yes I had it working, through the workarounds I did, but I didn't ever launch it because of my view of the sensitivity of tracking people.....and the possibility of using it for malicious purposes. As I see it, it was possible to do complex matters if people applied their mind to the challenges.
Essentially, what I am saying is we seem to have made coding more complex.
To give a simple example, of what I mean, and I am taking this from the B4X language manual.... and just looking at one aspect. Stringbuilder is something I have used quite a bit and it hasn't changed as far as I can tell.
Now, the simple approach to describe stringbuilder would be to follow these steps:
1] Create the variable: Private Sb1 As Stringbuilder
2] Initialize stringbuilder: sb1.Initialize
3] Add to the string by : sb1.Append(xxxx)
Then if you want to see it: Log(sb1)
But in the notes we get this:
Dim start As Long
start = DateTime.Now
'Regular string
Dim s As String
For i = 1 To 5000
s = s & i
Next
Log(DateTime.Now - start)
'StringBuilder
start = DateTime.Now
Dim sb As StringBuilder
sb.Initialize
For i = 1 To 5000
sb.Append(i)
Next
Log(DateTime.Now - start)
Yes, that may be how it is often used.... with "For Next" loops, however, "For Next" is a separate function.
I have used stringbuilder to "read" documents and that can require a different structure again depending on what is being read.
Now when I look at the the examples for B4Xtables, or B4X pages, CSV loading, etc... we end up with lots of other functions thrown together when invariably all I want is what is required to do a specific function.
So, let's say I am doing a family tree and we have a gedcom file. Some of the gedcom files can be delivered as a CSV file, but the rest is in a gedcom document which can be converted to a txt file. The Gedcom CSV file may not [ well it doesn't] record the parents, and their parents and their parents, etc. That is in the txt file. So we need to read the txt file to identify the people and update the table to include the respective generations. Then, when that is done we can query the table to find out, ancestry, or descendants, most recent ancestors between 2 people, double cousins, etc, etc, etc....[you can query on lots of things] we can also bring in DNA to test the accuracy of the Family Tree based on DNA, OR find where unknown people, where we have their DNA [from match documents produced by the various consumer DNA companies which are downloadable as CSV's], may sit in your own family tree. Now, at some point that gets fairly complex. But it shouldn't get that complex when you are still on line 1 and having to read multiple sources to try to work out how best, and how simply, to put a parent beside their child or multiple children.
Now, I don't think that project is beyond B4X. It is a matter of breaking down the steps and having a simple, reasoned process, rather than bundles of unnecessary code, obtained by someone trying to demonstrate different types of examples.
Obviously, the more lines that are used at a particular stage the greater the risk the process breaks down - and then the whole system breaks down. It is possible, eventually, that I incorporate disease risks could come into the model as well and how inherited, or otherwise, diseases have flowed through family lines. The imagination goes on and on.
I hope that provides the gist of my feedback.
It could be that you want to write the above program, I don't really care. But that is the concept and unless you have the data it isn't all that helpful to you.
And some family trees have 70,000+ people in them. At the moment, i am working on a test sample of 500 but want to roll it out to a much larger number given many people in my local area are related in some way if they settled here in the last 170 years. So, it would be good if we can simplify that more than what the consumer DNA tools say and record it as xx number of steps.