Other It's time to grow

Erel

B4X founder
Staff member
Licensed User
Longtime User
I’m very proud in the continuing progress of B4X tools. I’m also very proud to be part of this amazing developers community.

In the last couple of years, I have a growing feeling that B4X tools do not realize their potential. While there are all kinds of development tools, B4X offers a unique set of features: simple, powerful, mature, great community, RAD, native, cross platform and more.
B4X tools are an excellent choice for a wide range of real-world use cases.

So, the question is how to make B4X more popular? Obviously, it is not a simple nor a short-term task.
A clear growth barrier is the fact that unlike most development tools today, B4A and B4i are not free. This wasn’t the case 10 years ago.

The big announcement today is that B4A will become free in a few weeks. The framework - set of internal libraries, will be open sourced.

We will accept contributions for B4A like currently done with B4J.
We've also secured funds from a US investor who shares my vision of making B4X a popular development tool. These resources will allow us to further expand.

How can you help?

Help us spread the word about B4X.
 

Xicu

Active Member
Licensed User
Longtime User

I think the same
 
Upvote 0

aeric

Expert
Licensed User
Longtime User
Let's think from the bright side. What problems we (the users) and the creator of B4X have been facing? I am not so sure about the latter but I can guess there are many challenges and one of them is the popularity of B4X as mentioned in the first post. I think this is the main challenge.

We've also secured funds from a US investor who shares my vision of making B4X a popular development tool.

From the point of view of a user, here are some of the challenges I can see:

1. Challenges from other languages
As a programming language, B4X is not only compete with Java, Kotlin, Objective-C and Swift for native development, but it also flooded with other languages such as Flutter, React Native, Angular and so on. Most developers will choose the more popular language provided it is a free tool.

2. Job requirement
Many people in the market never heard of B4X. If the existing project is developed using the languages above, I could not apply the job as a Mobile Developer. Unless I can convince the company to port to B4A and become a solo developer.

3. Misconception of BASIC language
BASIC is losing its popularity. This may have created a misconception that BASIC is outdated or unable to solve modern world problems in providing mobile solutions.

4. Learning resources
Tutorials for B4A are limited within this forum. Compare to the resources contributed by other users made in other languages in Github, StackOverflow, Youtube and Udemy. There are also less book selling in the market about B4A.

5. Social engagement or marketing
Lack of learning resources contribute to less back links in Google search results. For some tools or languages, the creators have organized social events such as developer conference meetups or live video cast which may attract developers to learn more about the tool thus making them even popular.

6. Price
Apparently this is not a challenge for me but it may true to some students who don't have credit card or online payment method. We are sometimes skeptical whether we will continue to use the tool in the future and keep paying the renewal or subscription. I have the same feeling when I need to pay Apple Developer account but so far yet to make any earning.

I believe the challenges I listed above will be reduce significantly once B4A has become another free tool.

Advantages when B4A become a free tool:

1. VB6 programmer friendly
Since MS "abandoned" VB6 in favour of VB.NET and C#, people like me have been struggled in the work field. B4A will benefit the programmers with VB6 background to switch to mobile development. VB.NET and Xamarin programmers should also switch to use B4A. Let us spread the news in other community forums such as vbforums

2. Alternative tool
B4A will become a strong competitor to the tools available in the market. More job opportunities will be rise for B4A developers. B4A can prove that it could build native app faster and more stable compare to other tools.

3. Powerful learning tool
B4A can be a good tool to start learning programming even as a hobby without worrying about the cost. It is very fast and lightweight to run even on dated computer without investing more on the high spec hardware. It also compiles app faster and easy to debug compare to Android Studio which has more complex IDE layout.

4. Growing community
B4X forum is already have more than 100k of members and the number is growing everyday. The future of B4X is shining bright. This might be one of the reasons the investor has decided to invest to B4A. B4A like other tools in B4X suite has received frequent updates on new features and support following changes from Google Android SDK. Members are feeling comfortable to stay and contribute to the community. This kind of environment makes new comers feel welcome and not hesitate to ask question. The more users, more questions being answered, the more resourceful the forum becomes.

5. Open source development
The decision to open source the core libraries is a very important step. The possibilities of how B4A will transform in the future are out of what I can imagine. Without this barrier, I anticipate some breakthroughs would be happen. Maybe we can develop for Google Glass, Fuchsia, Auto, Home, etc.

What We can do:
1. Continue to use B4A to create more useful products
2. Use B4A and B4X tools in our job
3. Support and being active in the forum to help others
4. Share more code and projects
5. Report bug/problem to improve the tools
6. Donate to library developers
7. Be gratitude, send a "Like" to whom helped us
8. Follow forum etiquette, make others life easier (such as using code tag)
9. Write more blog, article or tutorial outside and link back to the forum
10. Teach B4X to others

Even though B4A is not new but it should be reintroduced to the world as a new and powerful tool. Erel is so humble all the while. B4A deserves a new launching ceremony and high profile advertising. Let's make the world excited about it!

Sorry for writing a long essay. I hope we also could share the same vision of Erel (make B4X to grow as a popular development tool). As the title said, "It's time to grow!"
 
Upvote 0

palpedrinha

Member
Licensed User
Longtime User
Dear Erel, B4X Team and Community,

It is a great and good news without a doubt! I am sure that this change will boost the use and popularization of B4A in the near future.

I know several programmers who did not continue with B4A just because it was paid. It will be a pleasure for me to announce this measure to all my fellow programmers.

I am a fan of this utility tool not only because it is quick and easy, but simply because it is brilliant!
"Android / IOS, Programming in Basic ... who knew !?"

Even so, I believe that this hard and dedicated work deserves to be paid, even if for a smaller amount. It's just my opinion!

Keep up the great work.
Best regards,
 
Upvote 0

Eme Fibonacci

Well-Known Member
Licensed User
Longtime User
B4X is a fantastic tool but the sucess happened with a fantastic community.

A simple formule:
PAY A LICENSE, learn b4x, if you need then you can make a question and all community can help you. For years I see "Super Erel" reply's. He help many users just in hours or minutes after. Many other users make it too.

I am worried maybe that partnership will can break.
 
Upvote 0

Alessandro71

Well-Known Member
Licensed User
Longtime User

nice analysis: i would add a specific target for teachers in schools: a free B4A package may allow its widespread use in schools, and people often use what they learned at school once in the workplace: just look at the history: SUN workstations, Pascal/Delphi, even Linux...
 
Upvote 0

SayCheese

Member
Licensed User
As I see it, this is a win-win situation for everyone. Continuity is a big concern when you depend on development software and now this issue is out of the way. As long there are enthusiastic, driven B4x developers, B4x will be alive and has the potential to become an important player.
 
Upvote 0

lemonisdead

Well-Known Member
Licensed User
Longtime User
As usual @Erel, I can't get what Anywhere Software is trying to do. And you'll agree. The most important is that you drive the switch. But, by experience, I just advise you to continue improving the software (most of the ones I used previously, after becoming open sourced, just don't improve as if they were closed software). But again, it's only my opinion based on my experience and we both are used not to agree about. Congrats and cheers. ?
 
Upvote 0

mcqueccu

Well-Known Member
Licensed User
Longtime User
B4A becoming free and open source is a great news but without it's partner B4i also free, converting other new/existing developers to start using B4x will still be a tussle. Even though when they get to know B4A, paying for B4i license will not be a problem for them.

Am saying because as it stands, I have shown and demonstrated the power of B4A, they still prefer to learn Flutter or React Native because they want free development tool that can get them both APK and IPA file with single code base
 
Upvote 0

BaGRoS

Active Member
Licensed User
Longtime User
Thank you very much! I use B4A from time to time, I paid for my license a few times but I always wrote something for my own use. I wish I could still use the full version, but at the moment I can't buy a license. This change is great.
Unfortunately I don't know how to run the full version, I just have a trial now, or I have to buy one.
 
Upvote 0

Mvula

Member
Licensed User
Longtime User
wow, that is fantastic news.
Thank you Erel
 
Upvote 0

annitb

Member
Licensed User
Longtime User
Thank you kind sir for open sourcing the product. Please note the following points:

Due to a vast discrepancy in APIs older B4A versions were only adept at compiling apps for older Android devices. Conversely newer version were unable ( even given old APIs to work with) to build apps for OLDER versions of Android.

Basically the further idea is that any version of B4A should ( given a suitable SDK ) be able to compile for any OLD version of Android.

Also, whilst B4A is excellently compiling the DEX file for most Androids, it may be well served to think native compilation. Please find here:

https://forum.xda-developers.com/devdb/project/?id=19218#downloads ( Look for cc_oi.sh )

https://github.com/Openand-I/haveged ( Look for make.sh )

and XDA forums in general, a method of building universal native static binaries on Android that work unmodified from Android 1.6 to 9.0, armv5e to armv8.

Thus the need is to open source and ( have available here in the forum at least if not in the download section ) ALL versions of B4A please.

Whilst this is for tools etc, the GUI also may be well served by skipping the Dalvik/ART/DEX creation and build an universal native GUI binary for the app. Refer JC ( native java compiler ). And B4A would be well served with an ability to call C dynamic libraries, either dynamically or statically.

The launcher should ideally be native GUI binary. Similar paths for building LibreOffice and Browser, because in their current Dalvik/ART/DEX app form they don't work. Ideally Android should just simply be able to ( close the launcher instantly and ) start linux XFCE for one GUI software that takes full screen, like LibreOffice and Browser.

No device should use more than a 96MB dalvik/ART heap size and even if it does, B4A should have the option to not honour device wide settings and use a max of 96MB for RAM>700MB, and 64 MB for RAM<700MB. Yes, you can run a loop to conduct large jobs ( very rare ) in batch form within this limit!

The next point is build automation and build servers. It's already doing the build from the IDE using command line tools. If those tools were packaged in a separate product for the purpose of build automation, even hosted or local, it would be excellent, thank you.

Also each app should ideally and willingly start publishing the list of regex URLs that it would like to have access to. This will allow both apps and app stores to create a secure set of rules that allow the app to function properly without it running away with inviting the entire internet to every device.

Any and all permissions should not give a dialog to the user as it is becoming quite a chore trying to understand that from the perspective of a regular user. It should just be published in the app store, including permissions gained dynamically not stated in the app manifest. Also admin users will be able to publish "permission override packs" so that the apps continue to function mostly and a 3rd party is administering the permissions in all his security knowledge. There will be multiple "permission override packs" for each app. Also both willing ( from app developer ) and unwilling revoke permissions ( say after a day or week after the say registration SMS has been received ).

It can also be possible to the app administrators and developers alike to publish "app qa packs", which are usually just a bunch of click automations to see a) that the app ran b) that it conducted the tasks associated with the click sequence and presented the GUI components accordingly c) various visual components didn't overrun the screen as expected and general dimensionality is maintained.

This can even possibly be an end user tool to run the app hidden after install to see if it's running ok at the end user.

Lastly and most importantly, open sourcing a product ( usually with one owner ) effectively even years into the future effectively doesn't really allow other contributors to modify the product. Thus the concept of "cosmetic forks of the IDE" is hereby proposed, wherein companies will be able to fork b4a ( ideally with help from the b4a website ) and all the names and logos ( again possibly with your help ) will be in the one simple fork process be changed to the company specific instance. This will allow reverse merge from company contributions at your discretion to the original b4a. Please don't publish more than 10 top company forks visibly on the b4a website. ( All strictly with backward compatibility guarantees ). Do note, this is a viability and security issue as if the IDE is not available years in the future or has been updated to serve a common good ( often at the peril of a "niche" provider who say has spent years with a specific IDE build making a very specific product ) the "cosmetic forks" can be used to ensure that continuity is maintained.

The same with the b4a components, both visual and non visual, should be all open source and build and fork friendly, with strict administration that they are not resource hungry or blocking at the user end. And open source app templates.
 
Last edited:
Upvote 0

emexes

Expert
Licensed User
The next step are an all in one B4X IDE? ??
I would love for B4A and B4I to be more compatible, ideally for same layout files to work for both. But I suspect we are too far past that fork in the road to back up and try again in light of experience. And B4X gets us two-thirds of the way there, so ? for that.

Also for B4R base language to be more like B4A and B4I, so that same back-end code works in all three, eg Int and Long same size, strings work like normal.
 
Upvote 0

Erel

B4X founder
Staff member
Licensed User
Longtime User
Conversely newer version were unable ( even given old APIs to work with) to build apps for OLDER versions of Android.
Not true at all.
You can use B4A to build apps for old versions of Android including Android 2.3. Many SDKs, including Google Play Services set the requirement to Android 4.1. It is also important to understand that the share of Android 4.0- is very small (<1%) and in most cases can be ignored.
 
Upvote 0

Erel

B4X founder
Staff member
Licensed User
Longtime User
I would love for B4A and B4I to be more compatible, ideally for same layout files to work for both.
Already possible. You can copy and paste views between B4J, B4i and B4A.
Once you learn how to work with XUI you will be able to share almost all of the layout related code as well as the logic code. I'm not talking about 66%, it is rather closer to 95%+.

Also for B4R base language to be more like B4A and B4I, so that same back-end code works in all three, eg Int and Long same size, strings work like normal.
Comparing a 2k microcontroller (1 / 32 of commodore 64) with the targets of B4J, B4A, B4i is not very practical
 
Upvote 0

annitb

Member
Licensed User
Longtime User
Even if setting the Android API to an old version in a NEW version of B4A in order to try and run it on an old version of Android ( lets say for compatibility or completeness multi apk purpose ), the app doesn't work in the old Android device for a myriad of reasons quoted by the Android device.

Only an old version of B4A with an old version of the API works for the old version of Android ( current expectation to be revised ). This should be possible as Android 1.6 is no different from Android 9.0 from a binary perspective, neither is armv5e to armv8, as my native static binary works across all ( without needing the linker or worse yet, failing due to the linker changes to PIE ). Yet, all biggies propose a different APK for armv7, armv8 etc, completely unnecessary.

More the reason to have the simple test cases initiative going. Both at server end which is expensive, but even a hidden service ( with a hidden test launch ) at user end.

Then it might be necessary to take the bull by the horn and "share-take" the GPU from the app developer perspective. It's simply unused.

 
Last edited:
Upvote 0

Erel

B4X founder
Staff member
Licensed User
Longtime User
You are again wrong.
B4A apps that do not use newer SDK that are based on Firebase or Google Play Services or features added in newer versions of Android will work on Android 2.3. They might also work on Android 1.6 however talking about Android 1.6 is a complete waste of time.
Android versions distribution: https://developer.android.com/about/dashboards/index.html
As you can see Android 2.3 share is 0.3% of the devices.
For further discussion about it please start a new thread.
 
Upvote 0

annitb

Member
Licensed User
Longtime User
dear erel,

by any estimate, there are anywhere between 10 and 20 million new unopened Android devices that were built with Android 2.3 to Android 4.0 to Android 5.1 that didn't make it to the market due to the rampant upgrading in developed markets.

it may be time to invite a market for those, let's say for a flat $25/- fee. AliBaba is a player on that front, as are others. simply putting a phone in landscape orientation on the wall with a new b4a launcher is an all convergent IOT controller!

Or a router version of b4a that simply runs the app on a MIPS router. Should not take any effort at all. Maybe even spearhead the use of ARM quad core routers. And "service oriented" apps that don't have a GUI. ( this will need the heap size limits as a C 1MB binary with 1MB RAM can pretty much do everything that a 100 MB heap service, let alone a 320MB heap size per app! ). Latest kubuntu and XFCE running entire desktop OS GUI within 320MB-380MB RAM. Android should be with very little effort? be able to run the XFCE app either on the tablet or even remotely ( so routers won't need a screen ).

the key point to note here is that the evolution of most IDEs, be it Microsoft Office or Visual Studio becomes very very complicated as the years go by and new owners drive the need for a new version of the IDE.

it is something to watch out for.

i recommend the top-10 most useful use cases presented for the taking, then the next-10 and even the most-useful-10 or most-underrated-10 or most-obscure-10.

thank you indeed.
 
Last edited:
Upvote 0

Erel

B4X founder
Staff member
Licensed User
Longtime User
the key point to note here is that the evolution of most IDEs, be it Microsoft Office or Visual Studio becomes very very complicated as the years go by and new owners drive the need for a new version of the IDE.
I'm sorry to say but there is really no point here. As I wrote three times you can use B4A to develop apps that run on Android 2.3.
Please don't continue this discussion here.
 
Upvote 0

aeric

Expert
Licensed User
Longtime User
What I understood is "It's time to grow (up)" as the title suggested, and move forward. There is no point to think about the deprecated and omissible quantity of device. Even though I still can develop exe for WinXP PC using VB6, that doesn't mean I have to ask MS to give an update on Visual Studio 2020 that allow me to do that. I will ask my user to use Win10.
 
Upvote 0
Cookies are required to use this site. You must accept them to continue using the site. Learn more…