|
|
Home » Extra libraries, Code snippets, applications etc. » U++ users applications in progress and useful code snippets, including reference examples! » Collaborative U++ Projects
Collaborative U++ Projects [message #18268] |
Fri, 19 September 2008 16:14 |
captainc
Messages: 278 Registered: December 2006 Location: New Jersey, USA
|
Experienced Member |
|
|
I think we need to get a few Open Source applications made with U++ out there. And I think U++ developers should collaborate on some projects together (good development collaboration practice!). I have 2 ideas for applications to work on:
1. Hierarchically Structured Digital Notebook
- Think of it as a digital version of an x-subject notebook. Top level sections, each with sub-sections. We can use Tab control and/or tree-view. The notebook can have full capabilities of UWord.
- T++ integration by being able to link to other notebook pages/sections (wiki-style).
- Optional features: note synchronization, math calculation integration, password protection / encrypted notes.
2. E-mail client
- POP, IMAP, and SMTP support
- Filters
- Address Book
- RSS Feeds (with our new handy RssCtrl!)
- Calendar -> maybe separate project (Since Thunderbird development has halted, why not create something in its place?)
Any other ideas?
The beauty of U++ is that these application could be portable and cross-platform. It won't have many dependencies. We could post on PortableApps.com and all that.
Let's create some teams, work together, and make 1 or 2 applications that really show off U++'s power! Who's in?
|
|
|
Re: Collaborative U++ Projects [message #18270 is a reply to message #18268] |
Fri, 19 September 2008 17:06 |
cbpporter
Messages: 1406 Registered: September 2007
|
Ultimate Contributor |
|
|
Sure, getting some open-source projects out here could help popularity.
But I see some problems with that:
1. Who should do that? I don't think there are a lot of people (using U++ or not) who actually have time to sit down and just start coding on some random project. I for one only code new projects in three distinct cases: it brings me money, it is really fun (happens rarely, but it does) or I need a small tool for something that the normal tools can't quite hack (and in such cases I'm usually done in some days; I have a lot of small apps that do data processing mostly or organize stuff, and for some strange reason I never wrote one in a language more suited for such tasks). And I think something similar to this applies to all working U++ developers.
2. What exactly to code. It should be useful, yet should not reinvent the well. I think that hundreds of programs that do the same stuff, and also forking have in general a quite negative effect on software as a hole, and especially on open-source. Please install Linux, and install all the calculators you can find in your distro. Then install all the Paint like programs, then the text editors. And the list goes on and on. If all the people who ever contributed to a text editor would have pulled their effort, we would have 2-3 extraordinary editors (which hopefully would not have turn out a monstrosity like emacs) and not 10 GUI ones installed almost by default, out which 5 are from Qt, 3 Gtk+ and 2 are just plain X.
If someone wants to write a new text editor for example, having a revolutionary design or at least one that caters for special needs of a subgroup of people and which is feature-wise quite different from the ones that exist, than that someone just might have a good reason to do that. If instead the reason is that some toolkit is better than the rest (in reality or just perceived), and there is not a program to solve the same task written in that toolkit, that that someone's reason is not that good and IMO will just harm open source by causing more redundancy.
3. Rewriting something in U++ would give the best results when that certain something is written in C. Unfortunately, most software out there is written in plain C, and most of the time not even in a civilized subset of it. Rewriting something like that would show of our capabilities quite well and lead to a better piece of software. But rewriting something which uses STL, Qt, Gtkmm or wxWidgets would not bring any significant benefit. Sure, you could probably pinpoint some code sections, but in the end, the whole effort would not be too justified.
I had the pleasure of working a little with two open-source C code bases, which I'm not going to name. One of them is one of the most horrible pieces of C software in regard to it's design and the way C is used to make it unreadable (but it's functionality is exceptionally good, making it required software). This project, quite used and probably installed on you favorite distro would in principle benefit hugely from a rewrite, and would get at least 80% of that benefit from using a string class. Any string class, but something smart like String would reap the best rewards. The second one is very well written, and I don't think that using anything, not even the absolutely perfect language and library that don't exist would have a major benefit on it, neither on functionality, nor on code clearness. Sure, being C, there are tons of stuff you could clean up, like using modules and namespaces, getting rid of macros, a little const correctness, etc., but this could be done in about a week or two and the function implementations would be virtually unaltered.
|
|
|
Re: Collaborative U++ Projects [message #18271 is a reply to message #18270] |
Fri, 19 September 2008 18:01 |
captainc
Messages: 278 Registered: December 2006 Location: New Jersey, USA
|
Experienced Member |
|
|
Quote: | it is really fun (happens rarely, but it does)
|
That's basically the crowd I was aiming at. I enjoy collaborating on software projects... helps me learn too.
Quote: |
If all the people who ever contributed to a text editor would have pulled their effort, we would have 2-3 extraordinary editors (which hopefully would not have turn out a monstrosity like emacs) and not 10 GUI ones installed almost by default,
|
I agree, but the main differences in many of the programs that have similar functionality is the programming language itself.
For example, TheIDE, it is another IDE for C++. Aren't there soo many of these? Why do we use it instead? Why not make a plugin for Eclipse that can auto-complete U++ and do what the hot keys do?
In my eyes, the main distinction with U++ is the development philosophy. I think it calls for a set of applications that cohere to its philosophy. Moreover, it is meant for cross platform compatibility. When you take into account the number of applications that are cross-platform, there are not too many of them.
I fully agree that the apps should be different and not reinvent the wheel.
|
|
|
|
|
|
|
|
|
Re: Collaborative U++ Projects [message #18285 is a reply to message #18274] |
Sat, 20 September 2008 10:37 |
|
forlano
Messages: 1196 Registered: March 2006 Location: Italy
|
Senior Contributor |
|
|
Oblivion wrote on Fri, 19 September 2008 20:11 |
Quote: |
2. E-mail client
- POP, IMAP, and SMTP support
- Filters
- Address Book
- RSS Feeds (with our new handy RssCtrl!)
- Calendar -> maybe separate project (Since Thunderbird development has halted, why not create something in its place?)
|
Well, I have a good news then I have almost finished a POP3Mail class. (It conforms to the RFC 1939, though no APOP or TLS, or MIME parsing yet). I was considering to upload it to the Bazaar this weekend with a simple mail reader example. Maybe someone could help me with a MIME parser and a Standard "Mail" class, before I start my own.
|
Hello,
I can be a beta tester. It would be very nice to have something able to run from a usb drive and able to synchronize your emails and Address Book.
I think that the first 3 steps
- POP, IMAP, and SMTP support
- Filters
- Address Book
would be a very good starting point and let the horizon to be quite visible and not very far.
Luigi
[Updated on: Sat, 20 September 2008 10:39] Report message to a moderator
|
|
|
Re: Collaborative U++ Projects [message #18287 is a reply to message #18285] |
Sat, 20 September 2008 11:07 |
Oblivion
Messages: 1098 Registered: August 2007
|
Senior Contributor |
|
|
forlano wrote on Sat, 20 September 2008 11:37 |
Oblivion wrote on Fri, 19 September 2008 20:11 |
Quote: |
2. E-mail client
- POP, IMAP, and SMTP support
- Filters
- Address Book
- RSS Feeds (with our new handy RssCtrl!)
- Calendar -> maybe separate project (Since Thunderbird development has halted, why not create something in its place?)
|
Well, I have a good news then I have almost finished a POP3Mail class. (It conforms to the RFC 1939, though no APOP or TLS, or MIME parsing yet). I was considering to upload it to the Bazaar this weekend with a simple mail reader example. Maybe someone could help me with a MIME parser and a Standard "Mail" class, before I start my own.
|
Hello,
I can be a beta tester. It would be very nice to have something able to run from a usb drive and able to synchronize your emails and Address Book.
I think that the first 3 steps
- POP, IMAP, and SMTP support
- Filters
- Address Book
would be a very good starting point and let the horizon to be quite visible and not very far.
Luigi
|
I agree, it would be nice to have that feature. As for the "horizon" I'm rather optimistic this time. As I mentioned above, I've almost finished the barebone Pop3 class. What's more is, This is a derivative of my "MailSocket" base class which can serve as a clear and familiar interface for handling the other Mail protocols. Actually, I "borrowed" code from Smtp mail (I hope no one would mind ) , modified it and created a common interface for deriving other mail protocols easily.
Github page: https://github.com/ismail-yilmaz
upp-components: https://github.com/ismail-yilmaz/upp-components
Bobcat the terminal emulator: https://github.com/ismail-yilmaz/Bobcat
[Updated on: Sat, 20 September 2008 11:10] Report message to a moderator
|
|
|
Goto Forum:
Current Time: Sat Jul 27 18:02:27 CEST 2024
Total time taken to generate the page: 0.02866 seconds
|
|
|