Google Summer of Code 2017 Project Ideas for wxWidgets
Google Summer of Code 2017 Project Ideas for wxWidgets
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)
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)
Re: Google Summer of Code 2017 Project Ideas for wxWidgets
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.
Re: Google Summer of Code 2017 Project Ideas for wxWidgets
No, it's in unusable state.Is the android port in better shape?
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!
Re: Google Summer of Code 2017 Project Ideas for wxWidgets
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:Is the android port in better shape?
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 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.
Re: Google Summer of Code 2017 Project Ideas for wxWidgets
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.catalin wrote: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 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.
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::
Re: Google Summer of Code 2017 Project Ideas for wxWidgets
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.coderrc wrote:I would like to support the idea of getting the android port into a useable state as part of GSoC.
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!
Re: Google Summer of Code 2017 Project Ideas for wxWidgets
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.
Re: Google Summer of Code 2017 Project Ideas for wxWidgets
- 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.
Re: Google Summer of Code 2017 Project Ideas for wxWidgets
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.
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.
Re: Google Summer of Code 2017 Project Ideas for wxWidgets
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.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
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.
This is actually off topic.palacs wrote:
- Full and maintained support for Windows 95 and OS/2 Warp 4.
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.
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?palacs wrote:
- Performance optimizations (e.g. wxRichTextCtrl, wxListCtrl and wxDataView).
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.
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.palacs wrote:
- Port to Amiga OS 3.5 & 4 / Morph OS.
- Port to DOS 6.22 / 7.10 using some lightweight graphics library.
BTW, an Amiga port was attempted some years ago, do you happen to know how far it went?
- evstevemd
- Part Of The Furniture
- Posts: 2409
- Joined: Wed Jan 28, 2009 11:57 am
- Location: United Republic of Tanzania
Re: Google Summer of Code 2017 Project Ideas for wxWidgets
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.
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?
Citizens: What it is his honor?
Chief Justice:Our president is an atheist, who will he swear to?
Re: Google Summer of Code 2017 Project Ideas for wxWidgets
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.
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.
Re: Google Summer of Code 2017 Project Ideas for wxWidgets
It's always nice to see interest in GSoC projects!
But,
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.
But,
1) It is too late for any new proposals in 2017 (though a good proposal could be saved for the next participation).Lowkus wrote:I would like to see an improvement to the wxButton control
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.
Re: Google Summer of Code 2017 Project Ideas for wxWidgets
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.
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.
Re: Google Summer of Code 2017 Project Ideas for wxWidgets
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:I was under the impression this was a list that could be amended anytime before the summer projects begin.
Sorry, I'm not going to do that. Personally I don't think this is a right proposal for GSoC.Lowkus wrote:please add this feature request to next year's list.
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.
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: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.
It would not require any native API, not only positioning, but the goal of wxWidgets is exactly the opposite.Lowkus wrote:That would allow complete control [...] without requiring native positioning API.
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.Lowkus wrote:it first requires understanding wxWidgets which could take a long time by itself
All these things are explained on the official GSoC website, aren't they?
Again, this is not really the goal of wxWidgets.Lowkus wrote:the actual coding which (if done using the method I mention above) requires merging bitmap and text into a composited bitmap
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.Lowkus wrote:might be simple for professional C++ devs but is not so simple for someone just learning to code.