QoTD: Miguel de Icaza

“Implement a Gtk# widget that brings the Office-like ribbons to Gtk#. Focus is on managed widgets, not in C-based widgets.” — Miguel de Icaza, Mono Summer of Code ideas (emphasis mine).

Go team. :-(

It’s also pretty sad that they’re pursuing data binding at the Gtk# level, rather than helping deliver it to all users of GTK+. Let’s strengthen our platform message, dudes, not splinter it.

  • E-mail this story to a friend!
  • Print this article!
  • TwitThis
  • del.icio.us
  • Facebook
  • Digg

17 Comments

  1. Posted March 27, 2007 at 08:47 | Permalink

    It really sucks to see Summer of Code being abused for playing politics to split the community.

  2. MattW
    Posted March 27, 2007 at 09:01 | Permalink

    That would so be a great project if it was in C, although I bet Microsoft have some pesky patents on various bits of that UI in the USA which would have to be avoided.

  3. Jerome Haltom
    Posted March 27, 2007 at 09:20 | Permalink

    I think the goal is to finish it before summer is over. I’d imagine doing that in crusty old C would be a bit difficult.

  4. Symgeosis
    Posted March 27, 2007 at 10:17 | Permalink

    I doubt that it is intended to splinter the community. I’m not the most experienced in regards to the GTK# bindings but I’m willing to bet that they don’t support automatic garbage collection (a similar problem which is shared with Java’s SWT). Thus, if this is correct, one could argue that the entire purpose of using C# is rendered moot.

    While it would be nice to have any work that is done in regards to GTK+ available to the entire development community, I can understand why they would want to go this route.

  5. Posted March 27, 2007 at 10:29 | Permalink

    Hello,

    I feel that a C# based API for a Ribbons API would give us a lot of flexibilty in its design and implementation and allow us to exploit a lot of what C#/CLR has to offer and after all it is part of the Mono Summer of Code effort.

    As for data binding, it is something that every .NET developer expects and we not have. This is also a case where the databinding in C# is probably simpler and would integrate better with the language than a lower-level binding (for example, we can do LINQ with System.Data).

    Miguel

  6. Posted March 27, 2007 at 11:12 | Permalink

    We need higher level languages that can expose C bindings, desperately.

    C, as a language, is holding back our productivity.

  7. Robert Devi
    Posted March 27, 2007 at 11:15 | Permalink

    Miguel, the main problem is that the ribbon will likely be implemented in Gtk+ eventually.

    So it’s likely that Mono will either have to ignore the Gtk+ ribbon or implement both or re-implement the Gtk# ribbon in terms of the Gtk+ ribbon. In the first case, Gtk# loses out and reduces the portability of Gtk+ code to Gtk#. In the second case, you end up with API confusion. And in the last case, you end up doing the work twice and end up trying to force-fit the Gtk+ version to be semantically equivalent to the Gtk# version which as you know from your previous WinForms port, might not yield the best results.

    OTOH, if the Gtk+ version is created first, Mono (being the first user) could ensure that it allows easy porting to Gtk# and contain the features and semantics you want.

  8. Posted March 27, 2007 at 12:47 | Permalink

    It’s about the technology. Why write new widgets in C when you can do it in C#? If I were doing it I know what I’d choose.

  9. Posted March 27, 2007 at 16:58 | Permalink

    For the databinding part I fully agree with Miguel: It is something .NET programmers expect being able to do, so Gtk# should offer this. But this doesn’t mean we cannot do something similiar for plain GTK+: GObject introspection is near from being complete, but at least we can list all properties of a class. So it should be possible to implement tree models based on property introspection…

  10. Me
    Posted March 27, 2007 at 17:44 | Permalink

    Maybe it doesn’t have to be C (though that’s a good ABI standard), but it’d definitely rock to have a communications standard, so that you could implement confoming widgets in any language, not just C#.

    Something more like a component communications protocol.

    Well, maybe something like this will end up being part of the proposed stuff.

  11. Posted March 27, 2007 at 19:30 | Permalink

    Can someone explain what on earth is Office-like ribbon ?
    Screenshot please :)

  12. Posted March 27, 2007 at 20:10 | Permalink

    @Nil: http://en.wikipedia.org/wiki/Ribbon_%28computing%29

  13. Hugo Vincent
    Posted March 27, 2007 at 20:42 | Permalink

    Perhaps Vala (http://live.gnome.org/Vala) is the answer. Write it with C#-like syntax, but compile it to plain C (thus exposing a C-API). I’m not sure if Vala is stable/complete/robust enough for this yet, but it seems like it has the potential to become on of the most important and central Gnome/Gobject technologies.

  14. Posted March 28, 2007 at 01:34 | Permalink

    I see… and how is this so different than using GTK Notebook and placing all sorts of widgets inside ?

  15. Ryan Paul
    Posted March 28, 2007 at 03:58 | Permalink

    It’s worth noting that Microsoft has applied for a patent on the ribbon and that Microsoft is only allowing royalty-free use of the ribbon paradigm in cases specifically approved by the company.

  16. erik
    Posted March 28, 2007 at 06:13 | Permalink

    It’s sweet, the Wikipedia page doesn’t tell it all. The way it affects Office 2007 is that it steers subtly people more away from trying to do things the hard way. Like, running in menus, making tiny manual adjustments to the formatting and such. It contains less stuff and encourages the use of styles everywhere etc. Furthermore it actually is most usually correct about the guesses on what you are trying to accomplish. It feels very intuitive and great to work with and that feature alone is a good enough reason to throw away OOo and use the Microsoft Office…

  17. Calum
    Posted March 30, 2007 at 10:24 | Permalink

    Has anyone actually demonstrated a *need* for ribbons in gtk anyway, sharp or otherwise?

    We don’t have to do everything Microsoft does– they backtrack often enough on UI ideas themselves that they thought were a great idea at the time, but turn out to be less than stellar in practice. Do we want to have to keep tying ourselves in knots along with them?

    IIRC even the OSX version of Office 2007 isn’t going to have ribbons, it’s going to have something that fits with the Apple UI Guidelines, because that’s what Mac users demanded. That’s the approach we should be taking: what’s going to work best for *our* users?

5 Trackbacks

  1. By Linux Blog Aggregator on March 27, 2007 at 05:04

    QoTD: Miguel de Icaza March 27th, 2007 by jdub

  2. By Linux Blog Aggregator on March 27, 2007 at 05:06

    QoTD: Miguel de Icaza March 27th, 2007 by jdub

  3. By TSiG | Free and Open Source Software on March 27, 2007 at 06:04

    Melissa Draper: Why groups like LinuxChix and $distro-Women are relevant Debian Package of the Day: unclutter: hide the mouse cursor after a period of inactivity Christer Edwards: Quick Update Toby Smithe: Feisty Beta Jeff Waugh: QoTD: Miguel de Icaza

  4. By Planet GNOME on March 29, 2007 at 16:02

    March 26, 2007 09:14 PM

  5. By Planet linux.conf.au 2007 on March 29, 2007 at 19:18

    March 26, 2007 09:14 PM

Post a Comment

Your email is never shared. Required fields are marked *

*
*

Comments will be sent to the moderation queue.