more tcp channel code, renamed soap namespace to Soap
[mono.git] / web / ideas
index 2cad986fba2ccefd18bdc76c99a67c2b65137e5e..0a97cdcc4d244967a995d23d06ec1ec7a1915f3e 100644 (file)
--- a/web/ideas
+++ b/web/ideas
 * Ideas
 
+       There are many pending classes that need to be implemented.  Those have
+       the highest impact in the Mono project: the sooner they are done,
+       the sooner we can start using this platform to create new and
+       exciting applications.
+
+       That being said, if you are not very excited about working on class
+       libraries, here is a list of other related projects or tools that might
+       be useful to the Mono project.
+
        Here are a few ideas of tools, classes and projects that you
-       could start.
+       could start. More are forthcoming.
+
+<a name="runtime">
+** Runtime
+
+       We need a verifier that can be run on an executable (assembly)
+       and tells whether the metadata for the executable is correct
+       or not.  It should report any anomalies.
+
+       For a list of anomalies in assemblies, check the various assertions
+       that are described on the ECMA documentation. 
+
+       This will help test our generated executables and can be also
+       used as an external verifier.
 
 <a name="classes">
 ** Classes
 
-       Implement a JXTA protocol implementation:
+       <ul>
+TODO=jxta,The JXTA Peer to Peer foundation
+               * Implement a JXTA protocol implementation:
                <a href="http://www.jxta.org">http://www.jxta.org</a>
 
-       Implement a Mail API, similar to Camel or JavaMail (Camel has
-       significant architecture features that are required on a real
-       mailer)
+TODO=camel,Mail API
+               * Implement a Mail API, similar to Camel or JavaMail (Camel has
+                 significant architecture features that are required on a real
+                 mailer).
+
+                 You can check the current C 
                <a href="http://cvs.gnome.org/bonsai/rview.cgi?dir=evolution%2Fcamel">
-               Camel implementation</a>
+               Camel implementation</a>.
 
-** Projects
+                 Such an implementation could be used both with
+                 Microsoft .NET and Mono.
 
-       Here are some projects you might be interested in working on:
+TODO=multimedia
+               * Interfacing to Multimedia systems.  You might want
+                 to look into the Quicktime API.  I know <a
+                 href="mailto:vladimir@ximian.com">Vladimir</a> has
+                 researched the problem before 
 
-       Implement an xmlStorageSystem for the CLI:
+       </ul>
+
+<a name="projects">
+** Projects
+
+       <ul>
+TODO=xmlStorage,
+               * Implement an xmlStorageSystem for the CLI:
                <a href="http://www.soapware.org/xmlStorageSystem">
                http://www.soapware.org/xmlStorageSystem</a>
 
-** Better Web Infrastructure
+TODO=guavac,Java compiler for .NET
+               * You could take one of the existing Java compilers
+                 (Guavac comes to mind as it is so nice) and modify
+                 it to generate .NET code rather than JVM byte
+                 codes. 
+
+                 This should be a pretty straightforward task.
+                 Guavac has the advantage of being written in C++ and
+                 it could be compiled with the Microsoft Managed C++
+                 compiler and produce a .NET executable with it.
+
+TODO=CORBA,CORBA implementation
+               * Build a CORBA interoperability engine for the CLR.
+                 You do not need to do all of the work, just talking
+                 the protocol will get us a long way (<a
+                 href="http://www.omg.org">The OMG site</a> has the
+                 CORBA specs).
+
+                 Get in touch with David Taylor (dtaylo11 at bigpond
+                 dot net dot au) as he has been working on this
+                 project.
+
+TODO=Bonobo,Bonobo for Mono
+               * Once CORBA is done, implement the Bonobo interfaces
+                 to allow people to use Bonobo components in Mono and
+                 Mono components with Bonobo.  The best of both worlds!
+
+TODO=moniker,Object Naming System with Monikers
+               * A naming space for Mono.  An object naming space is
+                 a very powerful tool.  Bonobo implements a moniker
+                 system that is more powerful than the original
+                 moniker concept that was pioneered by COM/OLE in the
+                 Microsoft world.
+
+                 Our implementation builds on a concept, and we have
+                 made it simpler, more powerful, more extensible and
+                 a much better mechanism than the equivalent monikers
+                 on Windows. 
+
+                 Implementing Mono monikers would benefit both
+                 Windows users using .NET and Mono users on Unix and
+                 Windows.  
+
+                 Here is <a
+                 href="http://primates.ximian.com/~miguel/monikers.html">an
+                 overview of the moniker system</a> in Bonobo.
 
-       
-       
\ No newline at end of file
+       </ul>