Why Released on Windows First?

If you are on Linux or OS X you might ask why we have decided to first release on the Windows platform. And why the releases for Linux and OS X will happen a few months later. Here is why.

We believe we can deliver better quality if we focus on one platform first. By having the whole team focusing on one platform we can get a release out sooner than it would be possible by supporting all three platforms from the beginning.

And the sooner we release, the earlier we get bug reports. And this benefits the quality. When we are going to release on the other platforms the back-end code will already be well community-tested. And even the first releases on Linux and OS X will have a decent quality.

But why did we choose Windows as the first platform? Actually, it was not us – it was you, our users. Looking at the bug reports we got for the old GUI tools it is clear that 90% of the reports are for Windows. And that made the choice easy.

The question remains why we do not use Java or a cross platform GUI toolkit. The answer for that is that a lot of developers do not want Java to be installed on their development machine. I personally love Java as a language but I can see their point, so that was not an option. For the cross platform GUI toolkits – we have tried a number of them. But non of them really delivered what we needed.

So I hope our fellow Linux and OS X users (I’m on OS X now as well) will understand our motivation behind this decision and will be even more happy when they are going to try Workbench on their platform and find it working very well.

17 thoughts on “Why Released on Windows First?”

  1. Dear Mysql,

    we have been waiting for a couple of years for the release of this development environment.

    The wide majority of your users uses Linux as preferential OS. You can ask a report from any reliable internet reporting company. Using the bug list to decide which OS your user base uses, is haphazardous practice at the best.

    We are really upset by your decision.

    Moreover, it is not clear why you have decided not to use eclipse or other open source developmet environments to develop the product, but have opted for Visual Studio, a closed and expensive development environment that is not better than any of the others.

    You are making very difficult for us to contribute to development.

    You are pushing our company to recommend our customers to change their supplying strategy towards other more FS/OS friendly suppliers.

    It seems to me that this is a worrying of a change of strategy of MySQL AB.

    managing director
    eeos uk ltd.
    company No. 05765416


  2. Hi CT

    Firstly, being a Linux developer, I agree with you that Linux is an essential platform and support for it should be second to none. But that being said,
    we had trouble with development of the previous tools we worked on because regardless of our plans, a lot of stuff ended up duplicated for each platform. This time we changed our approach and focused on building a solid foundation that includes as much application code as possible, leaving the UI code minimal. That would allow us to keep offering a fully native look and feel for all platforms (.Net, GTK and Cocoa/Aqua) and have much less maintenance work.

    I was initially doing all my development under Linux, but as our time was limited we decided it would be better to focus the whole team to one platform.
    Technically, Windows is the most problematic platform. Our core code is written in C/C++, which demands a significant integration effort to get a .NET (I guess the preferential framework for Windows these days) based GUI. In contrast, the gtkmm based UI for Linux, is a trivial task, so if we did Linux first we’d have a lot of trouble and probably need to refactor a lot of code (adding new bugs etc) to get the Windows port working.
    Also, we do get most of our bug reports from Windows users and honestly, it’s what matters the most for us at this stage of development.

    As for Visual Studio, rest assured that it is a requirement only in Windows. In Linux we’re using gcc and gtk and, as you know, they’re arguably as Free as you can get in every meaning.

    Personally, I can’t wait to reboot (far) away from Windows and get to work on the Linux (and OSX) frontends. They should demand much less work than the Windows one and come out with far less bugs.

    So please be patient. It was a difficult decision to only release for Windows first, but I think in the end it will be the best for everyone.


  3. Hi

    MySQL workbench is starting to mature, great news!

    Ive been itching to get my hands on a stable release of this tool (naturally the alpha version is a little buggy). I like CT use Linux as my preferred development OS, however this all not stop me from using the Workbench Beta. I plan on running Workbench within a vmware Windows image (not prefect, but these are the things we must do to support BETA software). Another option is to install DBDesigner 4 (http://fabforce.net/dbdesigner4/), this application is what MySQL Workbench will eventually replace.

    Keep up the good work Workbench team, looking forward to the production release!


  4. You say
    “Looking at the bug reports we got for the old GUI tools it is clear that 90% of the reports are for Windows. And that made the choice easy.”
    That doesn’t mean the 90% uses windows. That means there where more bugs that where reported from users running Windows… perhaps a detail, but not the same.
    Anyway, I’ll also install it on a VMWare virtual so it coexist with my development linux box…
    Keep up the good work.

  5. “That doesn’t mean the 90% uses windows.”

    Sure, you are correct. But it is not important to use on which platform we have the most users – it is important on which platform we get the most valuable bug reports. That way we can stabilize the tool more quickly. And bring it to the other platforms sooner. E.g. Linux users have often complaint about the stability of the tools, but we hardly get any bug reports there. That makes it hard for use to improve. That way we can present them a more stable tool from the very first release – which then should result in good bug reports again, because more people consider it to be worth to try it out and improve it. I hope that makes sense to you.

  6. To say it with a (gistly translated) Bible cite: “Who needs the debugger: the sick one or the healthfull?” 🙂

    I agree with your decision to first work on a code which naturally leads to more bugs.

    But I have another question: you say that the _backend_ hopefully will be stable and therefore quickly ported.
    Okay, my skills in Programming aren’t that good, but:
    the more you come closer to the operating system during programming, the less portable your C/C++-Code will be because of differences between the different implementations of the libs. At least this is what I thought to have learnt during my first terms.
    Because of this there are languages like java or python (okay, I see why not to use them here: performance), or am I mistaken?
    Please don’t hurt me if so, like said: I’m just learning 🙂

    Anyway, I keep using DBDesigner on linux, because your HW-Requirements are a bit to hig fo my loved ones. (Laptop: Turion64 with SIS M760 Onboard, Desktop: sempron 2400+ with GeForce FX5500).


  7. Our code is divided in platform specific and platform independent portions.
    The platform specific part is mostly GUI only, while all the
    DB and modeling stuff (ie the application itself) is portable. That means
    that the same C/C++ code will compile in Windows, OSX
    and Linux with almost no changes because we mostly use only
    standard functions that are available anywhere. So we debug once and run
    (after recompilation) anywhere. The fact that we use multi-platform
    libraries (glib, sigc++, cairo etc) is also important for that.

    Now, as for your HW, it seems good enough for running Workbench.
    If not in the current release, maybe in the next 5.0.14

  8. Ah, yes: I didn’t keep in mind that coding on windows not implicitly includes the use of MS-Libs, thanks for the remembrance.

    succesful coding

  9. This thread was opened in November, 2007. It is now the end of April, 2008. Any chance the linux distribution will be available soon? There are many of us who are excited about Workbench, but for whom MS Windows is simply not an option. Is there a target release date, at least?

  10. Please be patient, now that 5.0 GA is out, we will work on getting the Linux and Mac ports going. I dont know atm when the multiplatform GA will be out, but we’ll try to get something out in the next couple of months (although it won’t necessarily be feature complete).

  11. I’m primarily a Windows, .NET developer. C# is my main language, SQL Server is my main RDBMS, and all of my development systems run Windows. When I do use MySQL on a project, it’s because support for some non-Microsoft OS is important or at least keeping that option open is important.

    When I do use MySQL, it is mostly from Windows systems, and most of my bug reports have been on that version. Please don’t interpret that as a vote for Windows-first and Windows-superior software. One of my big complaints of MySQL is the GUI support on Linux is awful. The Windows versions of Query Browser + Administrator are much more polished.

  12. ‘The question remains why we do not use Java or a cross platform GUI toolkit.
    The answer for that is that a lot of developers do not want Java to be installed on their development machine. I personally love Java as a language but I can see their point, so that was not an option. For the cross platform GUI toolkits – we have tried a number of them. But non of them really delivered what we needed.’

    As a Java Developer and for the MySQL’s compromise to be open source, I can see that affirmation is completely mistaken, Why not Java?, because you developers are not trained?, In Java you can do everything that can be done in NET platform and even more, so why?, NET platform is NOT Open source, IS NOT free, is completely different from the MySQL’s approach. When I run a Script of 2038 lines in the ‘new’ WorkBench the application hangs up!, Is that real perfomance?, It’s terrific!!!, I miss the old Query Browser (and I’m still using it)
    Please consider all these things, consider MySQL’s philosophy before making an decision.

Comments are closed.