[Mono-dev] What would you like to see in Mono?
monodanmorg at yahoo.com
Wed Mar 29 10:57:38 EST 2006
Here are my ideas I would like to see for Mono, Gtk#, and applications.
1. I would love to see a fully managed CLI runtime.
The fully managed CLI runtime would be written completely in managed languages like C#, IL, and Boo. The whole thing does not have to be written in one language. Various pieces could be written in a different languages. However, since the Mono's class libraries are written in C#, it be the preferred language to use. No C++/CLI can not be used here.
We would reuse Mono's class libraries. Corlib would need to be modified.
2. cross-platform multimedia. Right now, gstreamer is a good library to use, but I haven't seen any working implementation of it running on Win32. I've seen vs projects for it. I've even seen binaries for it. But, I haven't got them to work. Also, I think the gstreamer bindings are not being maintained. We need the ability to do imaging, audio, video, graphics, etc... with Mono and GTK#. Think Banshee and Diva here.
Would the Real stuff (helix) be a good bet to create C# bindings that work on Mono on Linux, Mac OS X, and Win32? Are there any other good audio/video libraries that would be good to use?
3. Let's not forget scanning, photos, printing.... Bindings to SANE, TWAIN... Get GnomePrint to be stable like the GTK version. I hear gtk+ hackers are moving GnomePrint from GNOME to GTK+ and making it cross-platform. This is very good indeed. Get Cairo working on Win32. Think f-spot with steroids.
4. See 1. Use this as a basis for creating an WPF/E implementation.
5. distributed transactions. System.Transactions?
6. Make the Database stuff in Mono more robust.
(A) This could include implementing ADO.NET 2.0 features, such as, GetSchema, or enhancing Mono.Data ProviderFactory.
(B) Or enhancing Mono.Data.Sql in the MonoQuery add-in to MonoDevelop. This could include migrating data and the definition from one database to another, such as, a table called SOMETHING from MySQL to a PostgreSQL database. Or combing the Mono.Data.ProviderFactory, GetSchema in ADO.NET 2.0, and Mono.Data.Sql into one superb assembly. Allow Mono.Data.Sql to create the data definition language scripts of database objects already in a database.
7. provide bindings or easy-to-use hooks into evolution groupware client. especially when it becomes available on win32. Think tinymail.
8. a cross-platform installer that works for Win32, Linux, Mac OS X, Solaris, FreeBSD, etc... Think BitRock, NSIS (NullSoft Installer), Inno Setup, etc...
NOTE: the resulting installer binary does NOT need to be cross-platform.
The installer should be scriptable so it can be automated. When I mean automated, I mean:
(A). ability to create the installer binary from a simple make command that runs a script.
(B). allow administrators to install it via a script on a desktop remotely. Allows you to roll-out to many developers or users
(C). allow it to be installed on a file server. Most SOFTWARE I use is on a LAN. Having it run from the LAN and having my local settings stored on my local drive would be great.
(D) a script that can be used to create an installer for all platforms. specific things for a specific platform can be separated into different platform-specific scripts. You specify a target platform of Win32, and the installer creator will spit out an installer binary for Win32.
9. port MonoDevelop to Win32
10. port features in SharpDevelop 2.0 to MonoDevelop
11. make MonoDevelop compatible with SharpDevelop. Or have project import/export wizards for this.
Well, I think i have exhausted my list. I may post more when I can think of more.
"What would be the top feature you would like to see in Mono?"
"Think of a feature that is not something we are currently working
on (we know about those), for example avoid saying: a class-is-missing
feature or "IDE" or "the debugger". We know about those."
Yahoo! Messenger with Voice. PC-to-Phone calls for ridiculously low rates.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Mono-devel-list