wxWidgets Future?

This forum is reserved for everything you want to talk about. It could be about programming, opinions, open source programs, development in general, or just cool stuff to share!
buildere
Super wx Problem Solver
Super wx Problem Solver
Posts: 358
Joined: Thu Oct 28, 2004 3:45 pm
Location: Costa Rica

Post by buildere » Wed Oct 19, 2005 3:09 pm

upCASE wrote:Hi!
priyank_bolia wrote:Whatever you die hard fans say, but I believe, if there was just dll, lib, and cpp/h files to just copy into the project and a hello world wizard. It would attract atleast thousands of MFC programmer to switch to wxWidgets.
That may be true for the windows people. Sure we could do release a precompiled DLL and a lib for VC like Qt used to, but then the gcc using people would come and demand the same. What about Mac and Linux users?
It's all about gaining critical mass upCASE. If that requires to give a little "preferential" treatment to windows users then it is justified. Also, most linux people are used to compile and that kind of stuff, so is not like they'll miss this thing as much. Mac users will want it also, but they are by far less, so again, it is justified to focus on windows users in order to gain momentum. The rest will come by inertia.
I agree with priyank, it is about time for wxWidgets to become popular, there is no toolkit that compares in terms of features, good implementation, price, support, etc. and the easy path to make something popular is to make it popular for windows users.
upCASE wrote: And what if I don't want to distribute a wxWidgets dll everytime I ship an app?
I think the issue here is to "get hooked" programmers. Once they get a taste of wxWidgets they can (and probably will) spend more time tweaking their configurations in order to produce lighter executables, etc. Somehow, thats why wxDevCpp has been so successful. Just look how many posts its forum section gets daily.

upCASE
Site Admin
Site Admin
Posts: 3176
Joined: Mon Aug 30, 2004 6:55 am
Location: Germany, Cologne

Post by upCASE » Wed Oct 19, 2005 4:05 pm

buildere wrote: It's all about gaining critical mass upCASE. If that requires to give a little "preferential" treatment to windows users then it is justified. Also, most linux people are used to compile and that kind of stuff, so is not like they'll miss this thing as much. Mac users will want it also, but they are by far less, so again, it is justified to focus on windows users in order to gain momentum. The rest will come by inertia.
I agree with priyank, it is about time for wxWidgets to become popular, there is no toolkit that compares in terms of features, good implementation, price, support, etc. and the easy path to make something popular is to make it popular for windows users.
Then this is about publicity, not "easyness" of configuration.
I do think there *is* a critical mass of wxWidgets users, the thing is that you'll never hear of it. Qt e.g. gets a lot of publicity as they do spend money on advertisment in papers, websites etc. wxWidgets can't spend that money, so no publicity. It's mostly mouth-to-mouth propaganda I guess.
I'm not sure if shipping precompiled libs and DLL would really atract MFC useers to switch. The way I see it, is that compiling the lib shouldn't be to hard even for inexperienced developers, as there are VC workspaces and the lib compiles out of the box. A real addition would be a project wizard. Read the "Open discussion" forum for a thread about this. It seems to be on its way :D
Another thing that could be added, although I don't find it usefull, is the Qt-way of compiling the lib: The installer unpacks all files and automatically invokes the compiler to build the libs.

After all, working with wxWidgets is just as easy as working with Qt, MFC etc. We should focus on spreading word about it by posting to computer mags and online mags. Qt recently got a nice tutorial published on a major german computer mag. This should be possible for wxWidgets to and would arise interest (as it is free).

The major reason why companies won't easily skip to wxWidgets is IMHO, that there still is an "if I haven't paid for it, it can't be good" attitude. For a company, things like commercial support and availability of docs (like books) still are important. I worked for a company once that used Qt and I asked why they wouldn't switch to wxWidgets. The answer really was like "Errrm... Uhh... it's free... is it any good?? Anyway, they offer no support, so what are we gonna do when problems arise?"
Well, I wonder what they ever got out of the Qt support...
buildere wrote: Somehow, thats why wxDevCpp has been so successful. Just look how many posts its forum section gets daily.
I don't see a conection here...
OS: OpenSuSE, Ubuntu, Win XP Pro
wx: svn
Compiler: gcc 4.5.1, VC 2008, eVC 4

"If it was hard to write it should be hard to read..." - the unknown coder
"Try not! Do. Or do not. There is no try." - Yoda

priyank_bolia
wxWorld Domination!
wxWorld Domination!
Posts: 1339
Joined: Wed Aug 03, 2005 8:10 am
Location: BANGALORE, INDIA
Contact:

Post by priyank_bolia » Wed Oct 19, 2005 4:31 pm

I do think there *is* a critical mass of wxWidgets users
I agree to it, atleast in India nobody I know has ever heard of wxWidgets. I also learned it, as my client wants that thing to be in wxWidgets. But over this short period, one thing I found that people here are very nice and willing to help, also there is a huge potential in wxWidgets, as I have already told that there are many MFC people left out alone, after MS forces .NET and die hard fans of C++ still strugling to accept .NET. This is the best time for wxWidgets to gain a market share. I think that wxWidgets people not seems very much interested in publicity, they do not concern about market, but are taking it as a hobby programming, may be we can differ in opinion on that, but you have to agree that wxWidgets is not growing as compared to current market scenario and its potential to grow.
It seems to be on its way
Most probably, w'll see it very soon.
The installer unpacks all files and automatically invokes the compiler to build the libs.
I was also thinking of such thing, as you have also completed the help system, may be a there should be a software which you install after installing wxWidgets and it will have every thing in place for Visual Studio.NET. May be talk you latter about that.
After all, working with wxWidgets is just as easy as working with Qt, MFC etc. We should focus on spreading word about it by posting to computer mags and online mags. Qt recently got a nice tutorial published on a major german computer mag. This should be possible for wxWidgets to and would arise interest (as it is free).
May be my article is doing good at CP, I am also posting some screenshots to work with KDevelop soon.

User avatar
ABX
Can't get richer than this
Can't get richer than this
Posts: 810
Joined: Mon Sep 06, 2004 1:43 pm
Location: Poznan, Poland
Contact:

Post by ABX » Wed Oct 19, 2005 4:50 pm

priyank_bolia wrote:I think that wxWidgets people not seems very much interested in publicity, they do not concern about market, but are taking it as a hobby programming
This is simple wrong. Core developers of wxWidgets does not consider wxWidgets as a hobby programming. They live because of money taken from doing wxWidgets based application. I would hardly name it hobby. They have own small companies, do programming, do consultancy, do publicity, do shows on expos, do books. Surely not enough but a lot more than hobby would do.
priyank_bolia wrote:may be we can differ in opinion on that, but you have to agree that wxWidgets is not growing as compared to current market scenario and its potential to grow.
In short we already spend a lot of time saying what's needed. Now we need hands to do it according to words said in mailing lists.

In long (just a note, this is not a most suitable place for discutting it) this is very very welcome to get more and more hands on publicity and marketing but it has to be done in synchronisation with all the other activities discutted between we do and prepare. From the fact you discuss it I guess you want to help so I advise you to ask Julian personnally what's available to do (free tasks etc.) and additionally browse wx-discuss mailing list available at http://lists.wxwidgets.org/ Many things were already discutted so doing one more thread here doesn't bring much help in fact, what we need is activity around things which were already discutted.

HTH and TIA :)

ABX
CVS Head, 2.8.X
wxMSW, wxWinCE, wxPalmOS, wxOS2, wxMGL, bakefile
gcc 3.2.3, bcc 5.51, dmc 8.48, ow 1.6, vc 7.1, evc 3/4, pods 1.2

buildere
Super wx Problem Solver
Super wx Problem Solver
Posts: 358
Joined: Thu Oct 28, 2004 3:45 pm
Location: Costa Rica

Post by buildere » Wed Oct 19, 2005 5:59 pm

upCASE wrote: Then this is about publicity, not "easyness" of configuration.
Yes, but the publicity comes for "free" if we get a lot of windows (or any kind of) programmers using wxWidgets. Of corse, the fat here is in the windows side :wink:
upCASE wrote:
After all, working with wxWidgets is just as easy as working with Qt, MFC etc.
One problem I see with those toolkits is that they are too associated with the "cross platform" goal. But wxWidgets is quite powerful, even when the application is single platform oriented. I think there is little common knowledge in this sense, and that limits the interest.
upCASE wrote:
buildere wrote: Somehow, thats why wxDevCpp has been so successful. Just look how many posts its forum section gets daily.
I don't see a conection here...
The connection lies in the fact that wxDevCpp doesn't require the user to first compile and tweak things before starting coding and seeing results. The installer does everything they need to configurate the environment. Most Linux people are quite used to compile libraries, etc, before programming, but they forget one thing: even when it is relatively easy to setup the environment (wxLibraries in this case) "by hand", a lot of programmers don't want to do this step in order to test a toolkit that is new to them, when they are not even sure if that is the tool they are going to stay with. Think about it: you want to make a simple dialog, maybe to try certain features of the library. You reserve the time and energy to learn the intrinsics of the language, the methods, the sintaxis... but suddenly, you are wasting your time downloading other files, figuring out how to set up MinGW, environment variables, resolving dependancies ... or whatever. I'm not saying it is a nightmare, and certanly is not that hard for everyone, but that's not exactly encouraging for someone new to the platfrom.

priyank_bolia
wxWorld Domination!
wxWorld Domination!
Posts: 1339
Joined: Wed Aug 03, 2005 8:10 am
Location: BANGALORE, INDIA
Contact:

Post by priyank_bolia » Thu Oct 20, 2005 4:56 am

One problem I see with those toolkits is that they are too associated with the "cross platform" goal. But wxWidgets is quite powerful, even when the application is single platform oriented. I think there is little common knowledge in this sense, and that limits the interest.
I agree, infact I am just making applications for windows using wxWidgets and has nothing to do with Linux, and about Mac, that I had not even seen it yet.

upCASE
Site Admin
Site Admin
Posts: 3176
Joined: Mon Aug 30, 2004 6:55 am
Location: Germany, Cologne

Post by upCASE » Thu Oct 20, 2005 8:04 am

buildere wrote: The connection lies in the fact that wxDevCpp doesn't require the user to first compile and tweak things before starting coding and seeing results. The installer does everything they need to configurate the environment. Most Linux people are quite used to compile libraries, etc, before programming, but they forget one thing: even when it is relatively easy to setup the environment (wxLibraries in this case) "by hand", a lot of programmers don't want to do this step in order to test a toolkit that is new to them, when they are not even sure if that is the tool they are going to stay with. Think about it: you want to make a simple dialog, maybe to try certain features of the library. You reserve the time and energy to learn the intrinsics of the language, the methods, the sintaxis... but suddenly, you are wasting your time downloading other files, figuring out how to set up MinGW, environment variables, resolving dependancies ... or whatever. I'm not saying it is a nightmare, and certanly is not that hard for everyone, but that's not exactly encouraging for someone new to the platfrom.
Point taken...
That's the reason why I suggested having an installer that actually installs the sources and then calls the compiler (in this case VC) and compiles the libs based upon some user choices (release/debug/unicode). Together with priyanks new VC project wizard, this would make a install-once-be-happy installer, so that even complete newbies would be able to setup a system to compile wxWidgets apps.
Still, IMHO, I think there's no need for that. One should know his development tools and system and be able to set it up before thinking about programming. I confess that I had a hard time when I first started developing, but learning-by-doing still is the best way to learn and remember things. When developing, patience is your ally.

Anyway, I'll have a look at creating such an installer.
OS: OpenSuSE, Ubuntu, Win XP Pro
wx: svn
Compiler: gcc 4.5.1, VC 2008, eVC 4

"If it was hard to write it should be hard to read..." - the unknown coder
"Try not! Do. Or do not. There is no try." - Yoda

Jorg
Moderator
Moderator
Posts: 3971
Joined: Fri Aug 27, 2004 9:38 pm
Location: Delft, Netherlands
Contact:

Post by Jorg » Thu Oct 20, 2005 8:29 am

That would be very interesting ..

Julian also had some ideas on how to make a package manager, I am not sure if you followed that discussion on wx-dev. Basically it was about installing new components inside wxWidgets in such a way that people can grab them everywhere and it will always compile properly (because it is inside the wx-tree).

Anyway, an installer like you suggest UpCASE also needs to take in account what libs to build, and what options not to take. I would be very interested in a slim down compile once installer that presents me with a list of things to disable like the wxUSE_?????? macros. Once I can (as developer) slim down wxWidgets by disabling all the cr*p I do not need (wxHTMLWindow, wxWhateverClass), I am sure the apps will become very very small and manageable.

Some small tips, make the installer so that it can be installed multiple times, in different dirs .. this would be useful to install a wx-copy in a development branch where it is tailored exactly to what you need, and will reduce the footprint.

Regards,
- Jorgen
Forensic Software Engineer
Netherlands Forensic Insitute
http://english.forensischinstituut.nl/
-------------------------------------
Jorg's WasteBucket
http://www.xs4all.nl/~jorgb/wb

upCASE
Site Admin
Site Admin
Posts: 3176
Joined: Mon Aug 30, 2004 6:55 am
Location: Germany, Cologne

Post by upCASE » Thu Oct 20, 2005 8:49 am

Jorg wrote: Anyway, an installer like you suggest UpCASE also needs to take in account what libs to build, and what options not to take. I would be very interested in a slim down compile once installer that presents me with a list of things to disable like the wxUSE_?????? macros. Once I can (as developer) slim down wxWidgets by disabling all the cr*p I do not need (wxHTMLWindow, wxWhateverClass), I am sure the apps will become very very small and manageable.

Some small tips, make the installer so that it can be installed multiple times, in different dirs .. this would be useful to install a wx-copy in a development branch where it is tailored exactly to what you need, and will reduce the footprint.
That's all in the general plan :D
I'd like to present the user some choices to make, as for what libs will be build (release,debug), what general features to enable (unicode) and what special features to compile (GL, odbc, the wxUSE_*** stuff).

Note that the installer will only work if the PATH includes the VC compiler and the INCLUDE and LIB variables have been set. This should be the default for most users, but I think I'll add a feature later on that will allow to include these if they don't exist.
OS: OpenSuSE, Ubuntu, Win XP Pro
wx: svn
Compiler: gcc 4.5.1, VC 2008, eVC 4

"If it was hard to write it should be hard to read..." - the unknown coder
"Try not! Do. Or do not. There is no try." - Yoda

Jorg
Moderator
Moderator
Posts: 3971
Joined: Fri Aug 27, 2004 9:38 pm
Location: Delft, Netherlands
Contact:

Post by Jorg » Thu Oct 20, 2005 11:56 am

Would be cool. Maybe we can form a Make-wxWidgets-More-Friendly taskforce ;-) A lot has been said about making it friendlier, the problem is when it works for a developer, there is no need anymore to adjust it (for others).

Using VS free tools is a good idea, would like to see it use my VS7.NET also when possible. If you need a beta tester let me know!

Regards,
- Jorgen
Forensic Software Engineer
Netherlands Forensic Insitute
http://english.forensischinstituut.nl/
-------------------------------------
Jorg's WasteBucket
http://www.xs4all.nl/~jorgb/wb

upCASE
Site Admin
Site Admin
Posts: 3176
Joined: Mon Aug 30, 2004 6:55 am
Location: Germany, Cologne

Post by upCASE » Thu Oct 20, 2005 12:22 pm

Jorg wrote: Using VS free tools is a good idea, would like to see it use my VS7.NET also when possible. If you need a beta tester let me know!
Great!
I'm currently struggeling to capture the output of the compiler run in the installer. It's not really needed, but it will look better then just displaying a progress bar. I will post some screens later on.
OS: OpenSuSE, Ubuntu, Win XP Pro
wx: svn
Compiler: gcc 4.5.1, VC 2008, eVC 4

"If it was hard to write it should be hard to read..." - the unknown coder
"Try not! Do. Or do not. There is no try." - Yoda

Jorg
Moderator
Moderator
Posts: 3971
Joined: Fri Aug 27, 2004 9:38 pm
Location: Delft, Netherlands
Contact:

Post by Jorg » Thu Oct 20, 2005 12:37 pm

I was also struggling with console output yesterday as I am making a Rar archiver wrapper for my projects ... have you looked at the exec sample? In there they show async / synch stuff to grab console output. Ofcourse if this needs to be done in the installer env and it is not wxWidgets, I do not know ;-)

- Jorgen
Forensic Software Engineer
Netherlands Forensic Insitute
http://english.forensischinstituut.nl/
-------------------------------------
Jorg's WasteBucket
http://www.xs4all.nl/~jorgb/wb

upCASE
Site Admin
Site Admin
Posts: 3176
Joined: Mon Aug 30, 2004 6:55 am
Location: Germany, Cologne

Post by upCASE » Fri Oct 21, 2005 12:57 pm

Hi!
I did some work on the installer I mentioned, and apart from some problems (like detecting a correct compiler setup), it works (at least for me).

Here are some screenshots, so that you get an impression of what it will look like.

First comes the normal licence and readme stuff, next the selection of a dir where to install the sources. After that my stuff start.

Page 1: Info and an option to skip the actual compilation
Image

If you choose to skip, the following pages won't be displayed. It then behaves like the official installer.
Page 2: Selection of what and how to build.
Image

Page 3: Further build options
Image

Page 4: Select some "special" features. Not that this will serve for updating the setup.h, too.
Image

Page 5: Display the gathered info
Image

After that it firstly installs the sources, just like it normaly would
Then it starts compiling the stuff you selected, based on the options you enabled. This may take some time.
Page 6: The actual compilation step
Image

Once that step is finished, it simply displays the standard "bye-bye" sheet and exits.

Hope you like it. Maybe I'll post a preview next week.
OS: OpenSuSE, Ubuntu, Win XP Pro
wx: svn
Compiler: gcc 4.5.1, VC 2008, eVC 4

"If it was hard to write it should be hard to read..." - the unknown coder
"Try not! Do. Or do not. There is no try." - Yoda

leio
Can't get richer than this
Can't get richer than this
Posts: 802
Joined: Mon Dec 27, 2004 10:46 am
Location: Estonia, Tallinn
Contact:

Post by leio » Fri Oct 21, 2005 2:04 pm

Shouldn't ANSI/Unicode selection be with checkboxes, as in, be able to compile both versions (and that for release and debug too, based no the above checkbox group)?
Compilers: gcc-3.3.6, gcc-3.4.5, gcc-4.0.2, gcc-4.1.0 and MSVC6
OS's: Gentoo Linux, WinXP; WX: CVS HEAD

Project Manager of wxMUD - http://wxmud.sf.net/
Developer of wxGTK;
gtk+ port maintainer of OMGUI - http://www.omgui.org/

Jorg
Moderator
Moderator
Posts: 3971
Joined: Fri Aug 27, 2004 9:38 pm
Location: Delft, Netherlands
Contact:

Post by Jorg » Fri Oct 21, 2005 2:34 pm

I do not agree, as I understood UpCASE correctly it would become a tailor tool for your project. And you either choose UNICODE for your project or normal ANSI encoding (where I assume ANSI is 8-bit encoding).

The cool thing about this setup and compile wizard is that you get a tailored lib / setup.h abd this can be very small. I hope in the end version you can even disable more components like wxGrid, wxDb, wxMediaCtrl, wxZip, etc etc .. all the biggo classes out there.

This would really help making your final distribution very small. Simply point out the target dir, libs are created, use them in your project and done.

Maybe it is also an idea that the source is not even copied over, only the headers and the compiled libraries. This way your develop dir also stays small.

Regards,
- Jorgen
Forensic Software Engineer
Netherlands Forensic Insitute
http://english.forensischinstituut.nl/
-------------------------------------
Jorg's WasteBucket
http://www.xs4all.nl/~jorgb/wb

Post Reply