Wish Please think about using GitHub (or similar) for published Code

Jehoschua

Member
Licensed User
Good afternoon

it's great that you offer the Source Code for some Libraries like OkHttpUtils2 / iHttpUtils2 / HttpUtils2.

This allows us to fix annoying and unexpected issues like the fact, that the Http Utils do not give back the Http status code and, even worse, the proposed workaround is to manually patch the source and misuse the Tag property.

It took me about 15 minutes to correct the issue and now, HttpJob has the ErrorReason and StatusCode property. As users expect it.

But I am not willing to publish Source Code in a Forum where Users have to read all Forum-Posts to see if there is a new Release, download zip-Files and read the code to see if the currently used version is up to date (just because the zip file has no version information), etc.

Therefore:
please think about using GitHub or a similar service for your Open Source Projects. This would allow us to easily contribute and it's easier for you, to merge contribution (if you will keep an eye on changes).

Kind regards,
Thomas
 

Jehoschua

Member
Licensed User
I have a small addition:

Of course, it would be no problem to publish my contributions on my GitHub account.

But for all B4X users and customers, it would be much more useful if there is one b4x.com repository
so that we don't have to browse the forum for many hours and google for solutions and libraries.
Most of the time, I stumbled across useful functions and tools, just because someone accidentally posted a link in the forum in post #761 ("check this … out, too!")

The B4X community is great, but to handle contributions and its discussions in a Forum is really very obsolete :-(
- there are much easier and more useful free tools available :)

Kind regards,
Thomas
 

MarkusR

Well-Known Member
Licensed User
Longtime User
i think if too much people working at open source code it break into pieces.
and i think erel did not have the time to check 1000 pull requests. + automatic code merging is risky.
i suggest if we use a git server then we should separate erels librarys / third party librarys and community librarys.
 
Last edited:

Jehoschua

Member
Licensed User
Of course, there should be one B4x GitHub account and each Community-Library should be in a separate Repository.
This would give great benefits, I just explain 3 of them:
  1. B4x Customers don't have to google for great Libraries, they just find them :)
  2. Erel is relieved (strange word, he will have fewer burdens)
    because he can delegate the tasks to Contributors who likes to take this role for a repository.
    They can do the small tasks and for important Community-Libraries, Erel can keep the Master role to finally release new commitments after they were merged and tested.

    This is much better than the current "solution" using a forum,
    because Erel probably / usually does not fix and release community-libraries.

    But community-libraries are the most powerful benefit in B4x, because the official Libraries are missing a lot of basic functions. Therefore, the community power should be directed into powerful tools.

  3. Everything is handled in well-defined processes:
    1. Issues are individually handled and for each issue, the state is clear.
      In a forum, Users have to search all the posts to find related pieces of information.
    2. This makes it very easy to identify open tasks and contributors can... easily contribute.
    3. If a contributor is missing some documentation, he can just add it to the right file - and everyone can benefit


I can just talk about our experience using B4x:

we used it to develop a small App and we decided to switch to Java / Eclipse for new small projects
because the B4x is great to get started, but immediately get annoying if a little more complexity or usability is needed.
For example, we have spent hours to just find the right Forum Posts so that we can send 'big' sms and our code uses a lot of JavaObject and Reflection code. Often, such code would be great to pack into a community library.

The problem is, that we can't contribute in a fast and well-tested way like GitGub offers.
Therefore, we must build our own B4x Libraries and so it's hard to benefit from the community and there is no way to contribute to the community because the price to handle it in a forum would be higher by factors than if we use GitHub.

Of course, we could start our own B4x GitHub repository.
But that should be against the interest of B4x, because customers should find great libraries in one portal.
Therefore, B4x should invite contributors to move their Code into something like a central GitHub repository.

Kind regards,
Thomas
 

Erel

B4X founder
Staff member
Licensed User
Longtime User
because the official Libraries are missing a lot of basic functions
I don't think so. You need to provide examples.

For example, we have spent hours to just find the right Forum Posts so that we can send 'big' sms
There is a very good search engine in this site.

Search for: B4A big sms

You will immediately see that the top 5 results in this case are not about sending sms.
The 6th result is: Max length of SMS message
Open this thread and you will see the sub that you should use to send large SMS messages.
It took me 20 seconds to find it with your keywords. I don't think that it should take hours once you understand how to search.

It is true that this code uses reflection however there is nothing bad about it. There are actually advantages for this as you can change it if you need.
JavaObject and the older Reflection libraries are very useful for such small snippets.

Note that github will not help with finding relevant answers. It will however split the knowledge base.

we used it to develop a small App and we decided to switch to Java / Eclipse for new small projects
This is fine. However if you decided to switch to a different development environment then it makes sense to post your feedback once and move on...
 
Last edited:

Erel

B4X founder
Staff member
Licensed User
Longtime User
BTW, OkHttpUtils2 like xCustomListView, DBUtils and other modules written in B4X are written with the assumption that developers will be able to change them and customize them as they need. This is different than with Java or Objective C libraries where the compiled library is all the developer has and the library cannot be changed.
(not long ago such modules were only distributed as source code)

With that said, it is possible that in the future we will use GitHub more.
 
Top