Google Summer of Code 2017 Project Ideas for wxWidgets

Do you like to promote your wxWidgets based application or component!? Post it here and let's see what the critics have to say. Also, if you found that ONE wx component the world needs to know about, put it here for future reference.
catalin
Moderator
Moderator
Posts: 1618
Joined: Wed Nov 12, 2008 7:23 am
Location: Romania

Google Summer of Code 2017 Project Ideas for wxWidgets

Post by catalin »

Hello,

This year wxWidgets would like to participate in GSoC once again. The last edition in which wxWidgets participated was in 2014 and it was particularly successful, having 6 projects accepted and all ending with success.

I'd like to encourage anybody who has a particular need, can think of something really useful that is missing from the framework or has a good project idea, to bring it up for discussion here or on wx-dev mailing list, before March 29th.

See the current list of project ideas.


Update: wxWidgets was accepted for participation in GSoC 2017. (GSoC announcement)
coderrc
Earned some good credits
Earned some good credits
Posts: 141
Joined: Tue Nov 01, 2016 2:46 pm

Re: Google Summer of Code 2017 Project Ideas for wxWidgets

Post by coderrc »

I saw that you think the Ios port needs work. Is the android port in better shape? I have a project in mind that I would like to have running under windows, linux, and android, but I haven't yet really looked into whether or not wxWidgets will be viable for it.
User avatar
doublemax
Moderator
Moderator
Posts: 19114
Joined: Fri Apr 21, 2006 8:03 pm
Location: $FCE2

Re: Google Summer of Code 2017 Project Ideas for wxWidgets

Post by doublemax »

Is the android port in better shape?
No, it's in unusable state.

As much as it hurts to say this, but wxWidgets on mobile is dead. You really need at least one dedicated developer per port who works on it, and there is none for both Android and the iOS port.
Use the source, Luke!
catalin
Moderator
Moderator
Posts: 1618
Joined: Wed Nov 12, 2008 7:23 am
Location: Romania

Re: Google Summer of Code 2017 Project Ideas for wxWidgets

Post by catalin »

coderrc wrote:Is the android port in better shape?
No, the Android port is very out of shape unfortunately. The changes started in 2014 can be found here, if you want to fork it.
coderrc wrote:I have a project in mind that I would like to have running under windows, linux, and android, but I haven't yet really looked into whether or not wxWidgets will be viable for it.
I think you misunderstood the purpose of GSoC. It is about contributing to an open source project, not about using the open source code in a personal project.
coderrc
Earned some good credits
Earned some good credits
Posts: 141
Joined: Tue Nov 01, 2016 2:46 pm

Re: Google Summer of Code 2017 Project Ideas for wxWidgets

Post by coderrc »

catalin wrote:
coderrc wrote:I have a project in mind that I would like to have running under windows, linux, and android, but I haven't yet really looked into whether or not wxWidgets will be viable for it.
I think you misunderstood the purpose of GSoC. It is about contributing to an open source project, not about using the open source code in a personal project.
No, sorry I simply failed to communicate effectively. I was attempting to express that I would like to support the idea of getting the android port into a useable state as part of GSoC.

Then if that were to happen I could use wxWidgets for the project(s) I have in mind that include the android platform. Otherwise i'm stuck maintaining an entirely seperate codebase for android probably using java ::vomit::
catalin
Moderator
Moderator
Posts: 1618
Joined: Wed Nov 12, 2008 7:23 am
Location: Romania

Re: Google Summer of Code 2017 Project Ideas for wxWidgets

Post by catalin »

coderrc wrote:I would like to support the idea of getting the android port into a useable state as part of GSoC.
That would be simply awesome. But, on the realistic side, wxAndroid chances are so remote that it would need a very promising application for it to be considered again as a viable project and not a waste of time.

You should start by cloning the git repository, get the code to build, get the hang of it, see what is already there and what is missing and see in what way you could enhance that code. Please post here or on the mailing list about your progress. Good luck!
ONEEYEMAN
Part Of The Furniture
Part Of The Furniture
Posts: 7458
Joined: Sat Apr 16, 2005 7:22 am
Location: USA, Ukraine

Re: Google Summer of Code 2017 Project Ideas for wxWidgets

Post by ONEEYEMAN »

Just to add to catalin' responce - it is more realistic to continue with wxQt that can be used on Android than with wxAndroid itself. See the same year GSoC project.
palacs
Knows some wx things
Knows some wx things
Posts: 45
Joined: Mon May 30, 2016 11:11 am

Re: Google Summer of Code 2017 Project Ideas for wxWidgets

Post by palacs »

  • Make wxUniversal / wxX11 great again!
    If it could be stable, it would be a great choice instead of bloated GTK2/GTK3 graphics libraries with a graphical performance comparable to lightweight libraries e.g. FLTK
  • Full and maintained support for Windows 95 and OS/2 Warp 4.
  • Performance optimizations (e.g. wxRichTextCtrl, wxListCtrl and wxDataView).
  • Port to Amiga OS 3.5 & 4 / Morph OS.
  • Port to DOS 6.22 / 7.10 using some lightweight graphics library.
ONEEYEMAN
Part Of The Furniture
Part Of The Furniture
Posts: 7458
Joined: Sat Apr 16, 2005 7:22 am
Location: USA, Ukraine

Re: Google Summer of Code 2017 Project Ideas for wxWidgets

Post by ONEEYEMAN »

Hi,
Windows 95 and OS/2 were supported.
Windows 95 support was dropped not so long ago. It is not supported by MS and there is no point of continuing support of this OS inside wxWidgets.
OS/2 support was dropped in 3.0. I believe the rationale was "it is unmaintained and the number of users for this OS is significantly low".

I seriously doubt those will be re-surrected.

DOS 6/7 port - what is the purpose of such port? There is a wxBase library which can be used to write a portable application.

Amiga/Morph OS - how many people uses those OS c ompared to Windows/Linux/Mac? How many apps is written/ported to those OSes?

The only feasible one is to continue fixing bugs and implement new stuff in wxUniversal.

Try to send an e-mail to wx-dev about it.

Thank, you.
catalin
Moderator
Moderator
Posts: 1618
Joined: Wed Nov 12, 2008 7:23 am
Location: Romania

Re: Google Summer of Code 2017 Project Ideas for wxWidgets

Post by catalin »

palacs wrote:
  • Make wxUniversal / wxX11 great again!
    If it could be stable, it would be a great choice instead of bloated GTK2/GTK3 graphics libraries with a graphical performance comparable to lightweight libraries e.g. FLTK
The main reason wxUniversal is still there among the proposals is that it might, just might, be a viable choice in using wxWidgets on OSs where native ports would be too difficult to achieve (a handy example is Android). Otherwise history proves that it is not used very much.

I wonder what makes you say GTK/GTK3 are bloated. They implement pretty much the same features available for all other ports. Or are they all bloated? This is not the place for a debate, and if needed I'd rather continue this subject under a different topic. But for the record I disagree with that opinion.
palacs wrote:
  • Full and maintained support for Windows 95 and OS/2 Warp 4.
This is actually off topic.
The goal here is to gather ideas for GSoC projects and "Full and maintained support" for anything has nothing to do with it. GSoC lasts for about 3 months, and after that students tend to never come back to their contributed code, more often than not.
Not to mention that OS/2, Win9x (and even Win2k) support was dropped in the newest version both because they are not really used anymore, and because support for them could no longer be provided. Pretending the opposite now is not exactly a realistic goal.
palacs wrote:
You will have to be more specific here. Can you formulate a more concrete request about what should be improved in each one of them?
At the same time keep in mind the people who will work on these projects - students. The goal is for students to contribute code. If most of the time is spent investigating (how good could a student be at this, without years of slicing through this code? and how exactly do you think the efficiency of that could be measured?), how much impact would a student's work have on the code base at the end of the project? Google asks that a student has a real chance of writing code, and will not be happy at all if the student does not have real coding proof after all that time. Yes, at the end of the project the student must send proof of work. And failing to do so will put both the student and the mentoring organisation in a bad light.
palacs wrote:
  • Port to Amiga OS 3.5 & 4 / Morph OS.
  • Port to DOS 6.22 / 7.10 using some lightweight graphics library.
A new port will always need some traction from the community. Had a wxAndroid been there in a usable state, I'm sure it would have gained a lot of attention. However, even an OS with millions of developers did not make it happen. I doubt Amiga would have a different fate.
BTW, an Amiga port was attempted some years ago, do you happen to know how far it went?
User avatar
evstevemd
Part Of The Furniture
Part Of The Furniture
Posts: 2408
Joined: Wed Jan 28, 2009 11:57 am
Location: United Republic of Tanzania

Re: Google Summer of Code 2017 Project Ideas for wxWidgets

Post by evstevemd »

I see the List and so far I don't see anything to add.
I have always dreamed of wxMediaCtrl with Gstreamer port that works in all platforms. Reason being, Gstreamer have a lot of advanced feature than what currently is available. But then am not sure if it is a popular idea.
Chief Justice: We have trouble dear citizens!
Citizens: What it is his honor?
Chief Justice:Our president is an atheist, who will he swear to?
Lowkus
Experienced Solver
Experienced Solver
Posts: 61
Joined: Sun May 01, 2016 2:48 am

Re: Google Summer of Code 2017 Project Ideas for wxWidgets

Post by Lowkus »

I would like to see an improvement to the wxButton control, so that an image can be aligned on the button, and text can be aligned on the button, being simultaneously present on the button but being positioned independent of one another. The alignment options would include the following:

Top-Left, Top, Top-Right
Mid-Left, Middle, Mid-Right
Bottom-Left, Bottom, Bottom-Right

Additionally, the button could have a property for assigning padding from the edge of the button.

Padding = 0 (text/image will align right up to the edge of the button)
Padding = 15 (text/image will align close to the edge, but will have 15 pixels of space between it and the edge of the button)

Currently the button does not allow, for example, aligning an image to the center of the button while simultaneously aligning text to the bottom of the button. I think this improvement would be useful for many applications and the implementation is within reach for some of the students.
catalin
Moderator
Moderator
Posts: 1618
Joined: Wed Nov 12, 2008 7:23 am
Location: Romania

Re: Google Summer of Code 2017 Project Ideas for wxWidgets

Post by catalin »

It's always nice to see interest in GSoC projects!
But,
Lowkus wrote:I would like to see an improvement to the wxButton control
1) It is too late for any new proposals in 2017 (though a good proposal could be saved for the next participation).

2) wxButton is a native control, and as with all native controls, the implemented features will be the lowest-common-denominator of whatever the platforms offer; IOW a feature should be implemented on all platforms in a native way. Personally I doubt that any platform offers such flexibility for a button, not to say most of them. And even if it did, how high is the demand for such a customization? Would it justify the effort of maintaining it?

3) Even if a "generic" implementation for a button would be considered, it would probably be a much too simple task for a GSoC project.
Lowkus
Experienced Solver
Experienced Solver
Posts: 61
Joined: Sun May 01, 2016 2:48 am

Re: Google Summer of Code 2017 Project Ideas for wxWidgets

Post by Lowkus »

I was under the impression this was a list that could be amended anytime before the summer projects begin. If not, then please add this feature request to next year's list.

I wish I knew more about the implementation of buttons across operating systems, I don't have much knowledge to argue on my behalf in this matter. My gut instinct is that wxWidgets could draw all the button contents (text + graphics) onto a single bitmap and then put that bitmap onto the button face. That would allow complete control over the content displayed on the button across different operating systems without requiring native positioning API.

Regarding the complexity of the task, for students, I think it would be a very advanced task. It's not just a simple issue of modifying a few lines of code, it first requires understanding wxWidgets which could take a long time by itself, and then there is the actual coding which (if done using the method I mention above) requires merging bitmap and text into a composited bitmap - which might be simple for professional C++ devs but is not so simple for someone just learning to code. There would be a lot of testing needed, there would be documentation to be written, it would take a lot of the summer to get it all done.
catalin
Moderator
Moderator
Posts: 1618
Joined: Wed Nov 12, 2008 7:23 am
Location: Romania

Re: Google Summer of Code 2017 Project Ideas for wxWidgets

Post by catalin »

Lowkus wrote:I was under the impression this was a list that could be amended anytime before the summer projects begin.
It can be amended anytime, it's just too late to have any effect this year, the deadline for receiving student proposals has passed.
Lowkus wrote:please add this feature request to next year's list.
Sorry, I'm not going to do that. Personally I don't think this is a right proposal for GSoC.
However, if you feel strong about this idea you can discuss it further on one of wx-dev or wx-users mailing lists, where the library maintainers will definitely read your posts too.
Lowkus wrote:My gut instinct is that wxWidgets could draw all the button contents (text + graphics) onto a single bitmap and then put that bitmap onto the button face.
Of course it could, and then it would no longer be a native button, and would require an extra ton of maintenance work.
Lowkus wrote:That would allow complete control [...] without requiring native positioning API.
It would not require any native API, not only positioning, but the goal of wxWidgets is exactly the opposite.
Lowkus wrote:it first requires understanding wxWidgets which could take a long time by itself
This is pretty much a prerequisite for a GSoC project. I don't see how a student that doesn't know the code could propose a solution for a given project. And a student must propose a solution in order to be selected.
All these things are explained on the official GSoC website, aren't they?
Lowkus wrote:the actual coding which (if done using the method I mention above) requires merging bitmap and text into a composited bitmap
Again, this is not really the goal of wxWidgets.
Lowkus wrote:might be simple for professional C++ devs but is not so simple for someone just learning to code.
It might not be as simple for a student, but the purpose of GSoC is not to teach students how to code. It is to raise interest for open source projects, for contributing to such projects in a relatively fun and guided way. And let's not forget the significant payment Google will pay students for the entire summer. Most of the time spent on such a project is supposed to go into coding.
Post Reply