Difference between revisions of "Summer Of Code Ideas"

From GNUstepWiki
Jump to navigation Jump to search
 
(45 intermediate revisions by 10 users not shown)
Line 1: Line 1:
These are the ideas that were proposed as projects.  This section is maintained for historical interest, and to aid planning for the Summer of Code 2008 (if it happens again).  If you have a project that would be interesting for next year, feel free to add it here.
+
GNUstep is a mentoring organization of the Google Summer of Code.
  
 +
In the list below you find the ideas that have been proposed as projects for the next Summer of Code.  If you have a project that would be interesting, feel free to add it here.
  
=== Porting ===
+
If you find a topic that you want to work on, please apply directly through the SoC page [http://code.google.com/soc/]
* Port [http://developer.apple.com/opensource/internet/webkit.html WebKit] (using GCC 4.x with ObjC++ support).  The WebKit team is willing to help whoever wants to take on this project, please see [http://lists.gnu.org/archive/html/discuss-gnustep/2007-03/msg00290.html this email].
 
* Fix ms-windows integration issues (in conjunction with general gui theming) ... focus and app activation/deactivation, taskbar integration (when an app is hidden/deactivated it should be represented as a single item in the taksbar),  implementation of menus within each window. New features as dynamically selectable options.
 
* Support for ms-windows native theming ... have a subclass of GSTheme for windows which detects changes in the native theme and matches them within gnustep apps.
 
  
=== General Improvements ===
 
* Printing Support (make printing work consistantly. Test.)
 
* MS Windows support (better integration in the MS Windows look and feel, especially the in-window-menu support, file dialogs, etc)
 
* Finish input server [http://svn.gna.org/viewcvs/gnustep/libs/gui/branches/kazunobu_input_management/ support]
 
* Finish project center
 
* Revamp Objective-C garbage collection and make it compatible with the Apple implementation
 
* Cross-compilation from GNU/Linux to embedded devices
 
* [[GNUstepWeb]] (add script language support, etc)
 
* [[SimpleWebKit]] help development (event handling, better renderer, parsing quirks)
 
  
=== AppKit ===
+
== Porting ==
* Complete theming support ... go through each control in the gui and make sure it draws itsself using the theming engine, adding methods to the theming engine as required. Update/improve Thematic.app to match by providing wysiwyg editine/cretion of themes for each control.
+
=== Port [http://developer.apple.com/opensource/internet/webkit.html WebKit] (using GCC 4.x with ObjC++ support) === 
* Modify save and open panel, and perhaps browsers, to support multiple roots as needed on ms-windows where the filesystem has multiple roots (eg D:\... or //host/...)
+
* The WebKit team is willing to help whoever wants to take on this project, please see [http://lists.gnu.org/archive/html/discuss-gnustep/2007-03/msg00290.html this email].
* Fix focusing bugs/issues making sure GNUstep apps can be used with all window managers
+
* Implementation of CoreFoundation and CoreGraphics functions to support this
 +
* Implementation of WTF types in WebKit to interface with GNUstep
 +
Difficulty: Very High; Experience needed: Expert at C/C++ and Core* Apple libraries)
 +
 
 +
== General Improvements ==
 +
=== Finish input server ===
 +
* See [http://svn.gna.org/viewcvs/gnustep/libs/gui/branches/kazunobu_input_management/ this] for more information
 +
Difficulty: High; Required Experience: Objective-C, Cocoa
 +
 
 +
=== Finish Project Center ===
 +
* Improve integrated editor to have better support for tabs and emacs/vi like editing
 +
* Improve built-in debugger support on Windows and other platforms aside from Linux
 +
* Correct issues which exist on Windows such as:
 +
** make executable cannot be located unless the user changes it in PC directly.
 +
Difficulty: Medium; Required Experience: Objective-C, Cocoa
 +
 
 +
=== Revamp Objective-C garbage collection and make it compatible with the Apple implementation ===
 +
* Help finish implementation of Garbage Collection in the libobjc2 runtime (tracing is the only thing left to do, per David Chisnall)
 +
Difficulty: High; Required Experience: C
 +
 
 +
=== Cross-compilation from GNU/Linux to embedded devices ===
 +
* Compilation of GCC for the target architecture
 +
* Compilation of GNUstep frameworks for target architecture
 +
Difficulty: Medium; Required Experience: GCC
 +
 
 +
=== Cross-compilation to GNU/Linux or Windows from Xcode ===
 +
* Compilation of GCC for the target architecture and OS.
 +
* Compilation of standard libs for the target architecture and OS
 +
* Knowledge of how to build an SDK for Xcode
 +
* Compilation of GNUstep for target architecture and OS.
 +
Difficulty: Medium; Required Experience: GCC, Mac OS X
 +
 
 +
=== [[GNUstepWeb]] ===
 +
* add script language support, etc
 +
Difficulty: Medium; Required Experience: Web Development, Cocoa/ObjC
 +
 
 +
=== [[SimpleWebKit]] ===
 +
* help fix the following things:
 +
** event handling
 +
** better renderer
 +
** parsing quirks
 +
Difficulty: Medium; Required Experience: Cocoa/ObjC
 +
 
 +
* NSTextTable implementation in -gui and debugging of SWK against it (and Cocoa's reference) for the display of HTML tables
 +
Difficulty: Medium to High; Access to Mac preferred for comparison of Table behaviour.
 +
 
 +
=== Screen change support ===
 +
* handle resizing of the screen etc.  It's now common to run in virtual machines or with multiple displays with different sizes, so we need to gracefully handle changes of screen size while an application is running.
 +
Difficulty: Medium; Required Experience: Cocoa/ObjC
 +
 
 +
== AppKit (GUI) ==
 +
* Implement Cocoa Bindings properly.  We have some partial implementations of the controller classes, but they're not finished / tested.  With 10.6, Apple shipped an NSTreeController implementation that only causes segfaults occasionally (like, when you run one of their example apps), rather than all of the time (as with 10.5), so people will probably start using this stuff a lot more. (David Chisnell)
 +
* Complete theming support ... go through each control in the gui and make sure it draws itself using the theming engine, adding methods to the theming engine as required. Update/improve Thematic.app to match by providing wysiwyg editine/cretion of themes for each control.
 
* Text System should be cleaned, profiled and finished. Many methods in NSLayoutManager are unfinished or unimplemented, so we currently cannot tweak the test system as much as the one provided by Cocoa. (Quentin Mathe)
 
* Text System should be cleaned, profiled and finished. Many methods in NSLayoutManager are unfinished or unimplemented, so we currently cannot tweak the test system as much as the one provided by Cocoa. (Quentin Mathe)
 
* We need NSTypeSetter, NSGlyphStorage, NSGlyphInfo, and NSGlyphGenerator implementations. If NSTypeSetter and NSLayoutManager were implemented, they would probably be used in Etoile. (Quentin Mathe)
 
* We need NSTypeSetter, NSGlyphStorage, NSGlyphInfo, and NSGlyphGenerator implementations. If NSTypeSetter and NSLayoutManager were implemented, they would probably be used in Etoile. (Quentin Mathe)
* NSTextTable, NSTextTableBlock, NSTextList, & NSTextBlock implementations would also bring the GNUstep text system in line with that of Cocoa as of Mac OS 10.4. The classes could be useful to build a powerful word processor. (Quentin Mathe)
+
* NSTextTable, NSTextTableBlock, NSTextList, & NSTextBlock implementations would also bring the GNUstep text system in line with that of Cocoa as of Mac OS 10.4. The classes could be useful to build a powerful word processor, NSTextTable will help getting Tables for SimpleWebKit. Add relevant UI components (e.g. OS X has some inspectors for these that let you create tables and lists in a text view). (Quentin Mathe, David Chisnell)
* NSOpenGL Classes could be improved, made compatible with current Cocoa implementations, and further tested (Quentin Mathe)
+
* NSOpenGL Classes could be improved, made compatible with current Cocoa implementations, and further tested. Note sure about that anymore. Feedback from people using these classes would be useful? (Quentin Mathe)
* NSBitmapImageRep formats: Currenly, we support only reading and writing for TIFF, read-only for GIF, JPEG, PNG, PNM. We would like to have write support for these NSBitmapImageRep categories. Afterwards, SVG reading, then write support, would be nice. (Quentin Mathe)
+
* NSBitmapImageRep formats: Currently, we support reading and writing for TIFF, GIF, JPEG, PNG, PNM (reading-only). We would like to complete NSEPSImageRep and NSPDFImageRep (with Cairo?). SVG reading and writing support, would be nice too. (Quentin Mathe)
* NSDatePicker, NSLevelIndicator (and obligatory companion NSCell subclasses) implementations.
+
* NSDatePicker (and obligatory companion NSCell subclass) implementation.
* NSFormatter isn't working very well at this time (Quentin Mathe)
 
 
* Backend: especially xlib but also art could use performance improvements. NSImageView scrolling on xlib comes to my mind for example. (shouldn't improvements focus on the preferred, cairo backend rather than the deprecated ones?)
 
* Backend: especially xlib but also art could use performance improvements. NSImageView scrolling on xlib comes to my mind for example. (shouldn't improvements focus on the preferred, cairo backend rather than the deprecated ones?)
 +
* Fix focusing bugs/issues making sure GNUstep apps can be used with all window managers
 
* improve our RTF parser, to be able to correctly load OO and MS-Office created RTFs. Add support for reading NeXT RTFDs. Correct loading of Apple RTFs including char encoding
 
* improve our RTF parser, to be able to correctly load OO and MS-Office created RTFs. Add support for reading NeXT RTFDs. Correct loading of Apple RTFs including char encoding
  
=== Base ===
+
== Foundation (Base) ==
* NSDateComponents implementation.
+
* Improve testsuite to have regression tests cover much more of base library.
* NSCalendar implementation.
 
* Finish the NSPredicate implementation. This was partially done by Quentin Mathe, but is untested. The most important part is not done, which is to write a parser and lexer for the custom language used by NSPredicate. Also needed for this are NSComparisonPredicate, NSCompoundPredicate, and NSExpression implementations.
 
* Test the NSXMLParser Cocoa class (both the native ObjC implementation and the wrapper around GSXML), (Nicola: it seems to work fine, but it would be nice to have regression tests). Once this is thoroughly tested, NSXMLDocument, NSXMLDTD, and NSXMLDTDNode, and NSXMLElement, and NSXMLNode implementations would be useful for compatibility.
 
 
* Implement Apple's scripting/apple-events classes as a subproject of the base library.
 
* Implement Apple's scripting/apple-events classes as a subproject of the base library.
* Complete separation of gnustep specific extensions from Apple APIs an implement new Apple methods in existing classes.
+
* Complete separation of gnustep specific extensions from Apple APIs and implement new Apple methods missing from existing classes for compatibility.
 
* Complete implementation of Apple's latest URL handling classes based on NSStream... testing on mswindows as well as unix.
 
* Complete implementation of Apple's latest URL handling classes based on NSStream... testing on mswindows as well as unix.
 
* Implement CoreFoundation on Base
 
* Implement CoreFoundation on Base
* Now that Apple have XML based keyed coding, implement a version of Distributed Objects to talk directly to Apple applications.
+
* Now that Apple have XML based keyed coding, implement a version of Distributed Objects to talk directly to Apple applications (Nicolaus has done some work towards this in mySTEP).
 
 
=== Core Data ===
 
* Saso Kiselkov started implementing this [http://gscoredata.nongnu.org/ framework]. However, NSManagedObjectContext & NSPersistentStoreCoordinator have yet to be tackled according to his web page. Presumably NSPersistentDocument also needs to be implemented.
 
  
 +
== Core Data ==
 +
* Saso Kiselkov started implementing this [http://gscoredata.nongnu.org/ framework] and now hosted here [http://svn.gna.org/viewcvs/gnustep/libs/gscoredata/] as part of GNUstep. However, NSManagedObjectContext & NSPersistentStoreCoordinator have yet to be tackled according to his web page. Presumably NSPersistentDocument also needs to be implemented.
 +
* DataBuilder.app needs some final graphics improvements. And, should become able to read and write model files from Xcode.
  
=== Misc ===
+
== Misc ==
* Create a AJAX Framework for GNUstepWeb
+
* Basic CoreAnimation support.  The central part of CoreAnimation just does interpolation over some simple functions and modifies properties via KVC. (David Chisnell)
 +
* Porting GNUstep to the browser.  I committed an Objective-C to JavaScript compiler to Étoilé svn over the weekend.  Many GNUstep classes should work as-is, some will want reimplementing wrapping their JavaScript equivalents (e.g. GSDictionary, GSString, GSArray), and the drawing-related classes will need tweaking to draw on a canvas.  The final step would be implementing DO-over-WebSocket, so you can run view and maybe controller classes in the browser, model classes on the server, and have stuff Just Work™ (David Chisnell)
 +
* Create an AJAX Framework for GNUstepWeb
 
** [http://sourceforge.net/projects/wonder Project WONDER], especially the stuff mentioned here: [http://en.wikibooks.org/wiki/Programming:WebObjects/Project_WONDER/Frameworks/Ajax] could be ported over from Java. See also [http://search.lists.apple.com/?cmd=Search!&fmt=long&form=extended&m=all&ps=10&q=Ajax&sp=1&ul=webobjects-dev&wf=2221&wm=wrd&s=DRP] and [http://www.google.com/search?hl=en&safe=off&q=webobjects+ajax&btnG=Search]
 
** [http://sourceforge.net/projects/wonder Project WONDER], especially the stuff mentioned here: [http://en.wikibooks.org/wiki/Programming:WebObjects/Project_WONDER/Frameworks/Ajax] could be ported over from Java. See also [http://search.lists.apple.com/?cmd=Search!&fmt=long&form=extended&m=all&ps=10&q=Ajax&sp=1&ul=webobjects-dev&wf=2221&wm=wrd&s=DRP] and [http://www.google.com/search?hl=en&safe=off&q=webobjects+ajax&btnG=Search]
 
* There's a truck load of stuff in WO 5.4.1 that GNUstepWeb is missing: [http://developer.apple.com/documentation/DeveloperTools/Reference/WO541Reference/index.html]
 
* There's a truck load of stuff in WO 5.4.1 that GNUstepWeb is missing: [http://developer.apple.com/documentation/DeveloperTools/Reference/WO541Reference/index.html]
* Create Objective-C bindings for DBUS
+
* Add support for exposing objects on D-Bus to DBusKit.
 +
* Use your yacc/bison and (f)lex knowledge to finalize a source code translator for ObjC-2.0 to ObjC-1.0 [http://www.quantum-step.com/download/sources/mySTEP/objc-2.0/]
 +
* ''OpenGL extensions management API'': before using an OpenGL extension a program must first determine its availability. The mechanism for doing this is platform-specific and libraries such as [[w:GLEW]] and [[w:GLEE]] exist to simplify the process. The target of this project is a multiplatform Objective-C wrapper around OpenGL platform-specific functions.
 +
* ''HID API'': GNUstep can only handle the usual ''human interface devices'' (HID) : keyboard and mouse. A multiplatform framework would allow  GNUstep application to handle joystick, graphic tablet or 3D device.
 +
 
 +
== [http://gap.nongnu.org GAP] (GNUstep Application Project) Ideas ==
 +
 
 +
* Debug and Complete FlexiSheet, making sure it works on Cocoa as expected and noting incompatibilities with GNUstep. Those should be either fixed for both platforms (FlexiSheet portability of code improvement) or noted as a bug or missing feature in GNUstep.
 +
** printing
 +
** cell formatting
 +
** improved undo
 +
** searching
 +
 
 +
* implementation (Extract from Addresses) of an iSync compatible framework, its corresponding management application and then integrating it with AddressBook (which already has part of such framework). The goal would be to have synchronization of Addresses (but in future, perhaps calendar, Vespucci bookmarks) gnustep to gnustep, gnustep to mac and gnustep to .Mac/MobileMe by having such account.
 +
* porting of Applications from OpenStep or Cocoa abandonware. This needs to be checked on application-per-application: License and dependencies can be a problem as defining the scope of the project well.
 +
 
 +
* Implement a Dictionary tool based on dict.leo.org
 +
 
 +
* Implement a portable pure obj-c + Foundation GoogleTalk instant messenging (XMPP) kit or alternatively look at   
 +
xmppframework as inspiration and/or porting base
 +
 
 +
* Some miscellaneous applications that run a Cocoa GUI could be ported to GNUstep:
 +
** ''Vim GUI'' : at least two cocoa-based gui projects already exist - [http://www.ohloh.net/p/vim-cocoa vim-cocoa] and [http://macvim.org/OSX mac-vim]
 +
** [http://www.videolan.org/vlc VLC media player] : a Cocoa based interface exists for VLC
 +
** propose your own
 +
 
 +
* for more ideas check [http://gap.nongnu.org/developers/wishlist.html GAP wishlist]
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
[[Category:Summer Of Code]]

Latest revision as of 08:19, 29 March 2012

GNUstep is a mentoring organization of the Google Summer of Code.

In the list below you find the ideas that have been proposed as projects for the next Summer of Code. If you have a project that would be interesting, feel free to add it here.

If you find a topic that you want to work on, please apply directly through the SoC page [1]


Porting

Port WebKit (using GCC 4.x with ObjC++ support)

  • The WebKit team is willing to help whoever wants to take on this project, please see this email.
  • Implementation of CoreFoundation and CoreGraphics functions to support this
  • Implementation of WTF types in WebKit to interface with GNUstep

Difficulty: Very High; Experience needed: Expert at C/C++ and Core* Apple libraries)

General Improvements

Finish input server

  • See this for more information

Difficulty: High; Required Experience: Objective-C, Cocoa

Finish Project Center

  • Improve integrated editor to have better support for tabs and emacs/vi like editing
  • Improve built-in debugger support on Windows and other platforms aside from Linux
  • Correct issues which exist on Windows such as:
    • make executable cannot be located unless the user changes it in PC directly.

Difficulty: Medium; Required Experience: Objective-C, Cocoa

Revamp Objective-C garbage collection and make it compatible with the Apple implementation

  • Help finish implementation of Garbage Collection in the libobjc2 runtime (tracing is the only thing left to do, per David Chisnall)

Difficulty: High; Required Experience: C

Cross-compilation from GNU/Linux to embedded devices

  • Compilation of GCC for the target architecture
  • Compilation of GNUstep frameworks for target architecture

Difficulty: Medium; Required Experience: GCC

Cross-compilation to GNU/Linux or Windows from Xcode

  • Compilation of GCC for the target architecture and OS.
  • Compilation of standard libs for the target architecture and OS
  • Knowledge of how to build an SDK for Xcode
  • Compilation of GNUstep for target architecture and OS.

Difficulty: Medium; Required Experience: GCC, Mac OS X

GNUstepWeb

  • add script language support, etc

Difficulty: Medium; Required Experience: Web Development, Cocoa/ObjC

SimpleWebKit

  • help fix the following things:
    • event handling
    • better renderer
    • parsing quirks

Difficulty: Medium; Required Experience: Cocoa/ObjC

  • NSTextTable implementation in -gui and debugging of SWK against it (and Cocoa's reference) for the display of HTML tables

Difficulty: Medium to High; Access to Mac preferred for comparison of Table behaviour.

Screen change support

  • handle resizing of the screen etc. It's now common to run in virtual machines or with multiple displays with different sizes, so we need to gracefully handle changes of screen size while an application is running.

Difficulty: Medium; Required Experience: Cocoa/ObjC

AppKit (GUI)

  • Implement Cocoa Bindings properly. We have some partial implementations of the controller classes, but they're not finished / tested. With 10.6, Apple shipped an NSTreeController implementation that only causes segfaults occasionally (like, when you run one of their example apps), rather than all of the time (as with 10.5), so people will probably start using this stuff a lot more. (David Chisnell)
  • Complete theming support ... go through each control in the gui and make sure it draws itself using the theming engine, adding methods to the theming engine as required. Update/improve Thematic.app to match by providing wysiwyg editine/cretion of themes for each control.
  • Text System should be cleaned, profiled and finished. Many methods in NSLayoutManager are unfinished or unimplemented, so we currently cannot tweak the test system as much as the one provided by Cocoa. (Quentin Mathe)
  • We need NSTypeSetter, NSGlyphStorage, NSGlyphInfo, and NSGlyphGenerator implementations. If NSTypeSetter and NSLayoutManager were implemented, they would probably be used in Etoile. (Quentin Mathe)
  • NSTextTable, NSTextTableBlock, NSTextList, & NSTextBlock implementations would also bring the GNUstep text system in line with that of Cocoa as of Mac OS 10.4. The classes could be useful to build a powerful word processor, NSTextTable will help getting Tables for SimpleWebKit. Add relevant UI components (e.g. OS X has some inspectors for these that let you create tables and lists in a text view). (Quentin Mathe, David Chisnell)
  • NSOpenGL Classes could be improved, made compatible with current Cocoa implementations, and further tested. Note sure about that anymore. Feedback from people using these classes would be useful? (Quentin Mathe)
  • NSBitmapImageRep formats: Currently, we support reading and writing for TIFF, GIF, JPEG, PNG, PNM (reading-only). We would like to complete NSEPSImageRep and NSPDFImageRep (with Cairo?). SVG reading and writing support, would be nice too. (Quentin Mathe)
  • NSDatePicker (and obligatory companion NSCell subclass) implementation.
  • Backend: especially xlib but also art could use performance improvements. NSImageView scrolling on xlib comes to my mind for example. (shouldn't improvements focus on the preferred, cairo backend rather than the deprecated ones?)
  • Fix focusing bugs/issues making sure GNUstep apps can be used with all window managers
  • improve our RTF parser, to be able to correctly load OO and MS-Office created RTFs. Add support for reading NeXT RTFDs. Correct loading of Apple RTFs including char encoding

Foundation (Base)

  • Improve testsuite to have regression tests cover much more of base library.
  • Implement Apple's scripting/apple-events classes as a subproject of the base library.
  • Complete separation of gnustep specific extensions from Apple APIs and implement new Apple methods missing from existing classes for compatibility.
  • Complete implementation of Apple's latest URL handling classes based on NSStream... testing on mswindows as well as unix.
  • Implement CoreFoundation on Base
  • Now that Apple have XML based keyed coding, implement a version of Distributed Objects to talk directly to Apple applications (Nicolaus has done some work towards this in mySTEP).

Core Data

  • Saso Kiselkov started implementing this framework and now hosted here [2] as part of GNUstep. However, NSManagedObjectContext & NSPersistentStoreCoordinator have yet to be tackled according to his web page. Presumably NSPersistentDocument also needs to be implemented.
  • DataBuilder.app needs some final graphics improvements. And, should become able to read and write model files from Xcode.

Misc

  • Basic CoreAnimation support. The central part of CoreAnimation just does interpolation over some simple functions and modifies properties via KVC. (David Chisnell)
  • Porting GNUstep to the browser. I committed an Objective-C to JavaScript compiler to Étoilé svn over the weekend. Many GNUstep classes should work as-is, some will want reimplementing wrapping their JavaScript equivalents (e.g. GSDictionary, GSString, GSArray), and the drawing-related classes will need tweaking to draw on a canvas. The final step would be implementing DO-over-WebSocket, so you can run view and maybe controller classes in the browser, model classes on the server, and have stuff Just Work™ (David Chisnell)
  • Create an AJAX Framework for GNUstepWeb
  • There's a truck load of stuff in WO 5.4.1 that GNUstepWeb is missing: [6]
  • Add support for exposing objects on D-Bus to DBusKit.
  • Use your yacc/bison and (f)lex knowledge to finalize a source code translator for ObjC-2.0 to ObjC-1.0 [7]
  • OpenGL extensions management API: before using an OpenGL extension a program must first determine its availability. The mechanism for doing this is platform-specific and libraries such as w:GLEW and w:GLEE exist to simplify the process. The target of this project is a multiplatform Objective-C wrapper around OpenGL platform-specific functions.
  • HID API: GNUstep can only handle the usual human interface devices (HID) : keyboard and mouse. A multiplatform framework would allow GNUstep application to handle joystick, graphic tablet or 3D device.

GAP (GNUstep Application Project) Ideas

  • Debug and Complete FlexiSheet, making sure it works on Cocoa as expected and noting incompatibilities with GNUstep. Those should be either fixed for both platforms (FlexiSheet portability of code improvement) or noted as a bug or missing feature in GNUstep.
    • printing
    • cell formatting
    • improved undo
    • searching
  • implementation (Extract from Addresses) of an iSync compatible framework, its corresponding management application and then integrating it with AddressBook (which already has part of such framework). The goal would be to have synchronization of Addresses (but in future, perhaps calendar, Vespucci bookmarks) gnustep to gnustep, gnustep to mac and gnustep to .Mac/MobileMe by having such account.
  • porting of Applications from OpenStep or Cocoa abandonware. This needs to be checked on application-per-application: License and dependencies can be a problem as defining the scope of the project well.
  • Implement a Dictionary tool based on dict.leo.org
  • Implement a portable pure obj-c + Foundation GoogleTalk instant messenging (XMPP) kit or alternatively look at

xmppframework as inspiration and/or porting base

  • Some miscellaneous applications that run a Cocoa GUI could be ported to GNUstep:
    • Vim GUI : at least two cocoa-based gui projects already exist - vim-cocoa and mac-vim
    • VLC media player : a Cocoa based interface exists for VLC
    • propose your own