Slashdot Mirror


Nokia Closing Australian Office, Looking To Sell Qt Assets

An anonymous reader writes "One day after word leaked out that Nokia is shutting down its Qt Australia office, which is responsible for Qt3D, QtDeclarative, QtLocation, QtMultimedia, QtSensors, and QtSystems, reports are beginning to surface that Nokia is trying to sell off all Qt assets." Seems like selling itself to Nokia wasn't the best option for Trolltech after all.

18 of 125 comments (clear)

  1. For better or for worse... by Kensai7 · · Score: 4, Insightful

    This might be a good thing for Qt. It is the BEST C++ toolkit for many high quality applications. It was being drudged behind Nokia's anemic policy regarding where to head with a mobile OS. Let's hope it doesn't end to Oracle. :p

    --
    "Sum Ergo Cogito"
    1. Re:For better or for worse... by Desler · · Score: 4, Interesting

      And hopefully this means that Qt will go back to focusing on the desktop widgets instead of QML and the inane pipe dreams about mobile devices that never came to exist.

    2. Re:For better or for worse... by Anonymous Coward · · Score: 5, Funny

      I hope the Raspberry people buy it.

      Then they can call it Qt Pi.

    3. Re:For better or for worse... by glebovitz · · Score: 5, Interesting

      Pretty strong and incorrect comment from a coward.

      Qt largest growth sector is embedded systems and QML Is the driving force behind this market. You cannot get the performance from Widgets that you can from QML objects (Well you can if you rewrote the widgets in a light weight framework like QGraphicsView or SceneGraph, but then you would essentially have QML.)

      I don't know where you get your facts, but QML behaves very well in highly animated GUIs on fairly low end embedded hardware. The fact that it is backed up with a highly optimized SceneGraph engine that removed the overhead of the QGraphicsView engine makes QML even better performing.

      The comment above about Digia is greatly misleading. Digia focuses on the commercial license market which is a legacy business. The growing embedded market uses the LGPL version and gets support from the open source community. Companies like ICS and KDAB are growing at a very fast pace servicing this market. Digia has not been able to transition well to the embedded space.

    4. Re:For better or for worse... by arendjr · · Score: 4, Interesting

      Like it or not, thanks to Windows 8 "real desktop application" and "Metro app" will increasingly mean the same thing in the future. QML is a result of Nokia's (failed) mobile efforts, but thanks to it, Qt (unlike pretty much any other toolkit) is actually able to create competitive interfaces, regardless of whether the competition is using traditional widget-based interfaces or Metro-style interfaces.

      So yeah, I agree with GP here, QML is the best thing to happen to Qt in a long time.

    5. Re:For better or for worse... by betterunixthanunix · · Score: 4, Interesting

      You seem to be wrongfully blaming deficiencies in Qt's implementation on the langauge

      I was originally replying to a post that claimed Qt was the "best" toolkit for writing "high quality" C++ programs. Qt uses error codes, not because error codes are a good thing (they are not), but because Qt is a C++ toolkit and C++ makes anything other than error codes unreliable. How is that an unfair criticism?

      I've written numerous pieces of complex software with Qt using exceptions and have never seen an exception fail to be caught or ever let errors go unchecked

      Except that preventing exceptions from crashing your program in C++ means preventing some exceptions from propagating -- and basically forces you to create programs that do not handle certain errors. In C++98, you could just risk a double exception fault, but it was considered bad practice; in C++11, you can't even take that risk, and so your destructors either have to handle the error properly or you need to find some other way to signal the error (or else let it go unhandled or just quit). On some level, you are either not using exceptions at all or else you are allowing some exceptions to be ignored -- that's a reality of C++ exception handling.

      I've used tons of crappy Java and .Net

      Did I say that Java or .NET are better? In all of these systems, exceptions could have been done better -- for example, by not destroying the stack before the exception handler executes. Java won't cause your program to abort when exceptions are thrown, but Java will cause exceptions to be "forgotten" under some circumstances:

      try {
      } finally {
      throw new SomeException();
      }

      That is not much better if you want "high quality" software.

      You might want to update your C++ hater points beyond what you read on yosefk.com or other lame whiner sites.

      Lame whiner sites? I programmed C++ for a decade, and I still have to write C++ code sometimes. My dislike of the languages comes from experience, not from some website. Error handling is just one issue, one that I think is very much relevant if we are going to talk about "high quality" software. Programming in C++ requires knowledge of the long list of undefined behavior, the long list of patterns that have to be used to avoid that behavior (which hardly anyone deviates from, except for novices who have not yet learned the patterns), and debugging is as much about correcting bad program mechanics as it is about correcting bad program logic (and the majority of C++ code is not low level code).

      Yes, I know, programmers should just follow best practices; if that is the case, why not just make those practices standard, and create a special statement to disable that behavior? Why are we forcing programmers to explicitly say, "I do not want this program to crash," when we could be forcing them to be explicit in situations where they do want to write potentially unsafe code?

      --
      Palm trees and 8
    6. Re:For better or for worse... by tibit · · Score: 4, Informative

      They could have made widgets hardware accelerated and easily animated.

      Yes. And that's how QML came to be, because when you actually try to make "widgets" do all that you end up with something that's not widgets anymore. Do you seriously believe that the mindset was "let's come up with something new from scratch, we've got too little work to do"? The legacy widget model has insurmountable performance issues that cannot be overcome in that model. If you don't understand that, you need to do some research first, perhaps actually try coding something up and convincing everyone how your supercool painter widget based model keeps up with competition.

      There's no way to get good performance from a painter-based architecture that asks everyone to repaint their part when something changes. This model made sense for a while because common graphics hardware was generally slow and had no acceleration to speak of when it comes to graph-based representations of the visuals. It doesn't make any sense anymore. When a window moves and is to be recomposited, you shouldn't have to transfer more than a command or two to the graphics card to change a couple coordinates. It'll be picked up next time the rendering is done. In the painter-based model, at best you have backbuffers for every window (even if a window has a flat background that can be represented by two flat shaded triangles -- two dozen numbers at the most, not a megabyte), and those backbuffers have to be composited.

      The widget model not only sucks performance-wise, but it also sucks resource wise: you need a lot more memory and a lot more memory bandwidth to render even fairly simple things.

      --
      A successful API design takes a mixture of software design and pedagogy.
    7. Re:For better or for worse... by CadentOrange · · Score: 4, Interesting

      That hasn't stopped GTK+ from working on all three platforms.

      Define working :)

      GTK+ apps look out of place on Windows, even more so on Mac. In addition to that, Qt just integrates a lot better into the native tool chain (e.g. Visual Studio, Xcode). Prior to being bought out by Nokia, Trolltech were charging $1500 per developer, per platform for Qt. And Trolltech were profitable! It is *that* good a toolkit. It's benefited immensely from being backed commercially and it shows.

      Will this continue after Nokia bails? Will the pace of development slow, to the extent that it no longer integrates as well with new tool chains and platforms? That is an unknown and I really hate unknowns ...

    8. Re:For better or for worse... by ardor · · Score: 4, Informative

      I wish to elaborate on why the painter model is inefficient with today's GPUs.

      The painter employs an imperative approach that does not allow for much freedom. Example: begin(), line(), text(), line(), end(). The two line() calls should be grouped together, but they cannot, because then the result would not be equal (what if text() drew over the first line, then the second line() call drew over the text for example?). The result is pretty bad: the underlying implementation has to perform tons of unnecessary shader switches (since font rendering most likely uses different shaders than the line drawing code), and perhaps texture switches (if texture-based AA is used). In addition, every time the painter is used, a vertex buffer has to be filled with vertex data. It cannot be easily cached. And this applies to *every* begin..end painter sequence.

      A declarative QML-like approach is a much, much better idea. The fundamental reasons are that (1) the renderer now always has a global picture of what the frame shall look like, (2) intermediate results are much easier to cache, (3) no strict sequence of drawings is given, therefore the renderer is free to reorder and merge drawcalls in any way it wishes. This benefits even pure CPU-based rendering - the Enlightenment Foundation Libraries render using a graph, and are extremely efficient (they clip and cull primitives early on, group primitives together, IIRC can even detect accumulated opacity from several alpha blended layers ..).

      C++ QML bindings would likely consist of an API that can modify the graph. Either way, the painter-based approach is gone.

      --
      This sig does not contain any SCO code.
    9. Re:For better or for worse... by shutdown+-p+now · · Score: 4, Insightful

      The real awesomeness about QML is not the visual graph - for a high-level UI developer that's an implementation detail. What makes it awesome is declarative UI markup, and flexible data bindings to the model. It's what MVC should have been from day 1.

  2. Re:Do you do it for money or for love? by DeathToBill · · Score: 4, Funny

    Unless you're Dominique Strauss-Kahn, of course.

    --
    Slashdot - News for Nerds, Stuff that Matters, in ISO-8859-1 Has just realised that beta makes this signature redundant
  3. Still a great toolkit despite Nokia by zenyu · · Score: 5, Interesting

    Maybe SUSE (Attachmate) can buy it, or even better Cannonical. SUSE could keep it going but Cannonical is trying to develop a toolkit from the ground up for Unity3D based on NUX, but it is really terrible compared to Qt and it will take them 5+ years to catch up. Forever in this business. It would make much more sense to move Qt in the direction they want to go.

  4. I hope Google gets Qt by goruka · · Score: 4, Insightful

    And integrates it to Android, NaCL, ChromeOS, etc. It would make developing and porting large applications to their platforms much, much easier.

    1. Re:I hope Google gets Qt by chrb · · Score: 5, Interesting

      There already is QT for NACL. It's a very interesting idea, you can deploy QT apps over Chrome instead of having to target a native desktop. If you build for x86 and ARM you've got a complete software stack for web-accessible native GUI apps that will run on any platform that Chrome runs on (which apparently will soon include Android).

  5. probably a good thing for Qt by Blob+Pet · · Score: 5, Interesting

    Over the last few years, whenever I looked at a changelog for a new release of Qt, I noticed quite a bit of of work was being done to support Symbian or Meego. When I went to their annual conference a couple of years ago, some of the stuff they were showing off (namely, basic UI control widgets for QML) seemed to be focused on Symbian or Meego first and maybe other platforms later. Meanwhile, I noticed that some releases of Qt (especially around 4.6.2) had some surprisingly bad bugs that I wouldn't have expected in the past. I wasn't alone. A friend of mine at Nokia doing Mac development with Qt admitted as much. The whole thing made me think that far more resources was going into getting Qt support for Nokia's platforms at the expense of Qt's traditional desktop platforms. That's an uncomfortable feeIing to have when you're a software firm and you're paying Nokia (and now Digia) for commercial support for the toolkit. I'm hoping that what's going on now will refocus Qt development.

    --
    "...today consumers have been conditioned to think of beer when they see a bullfrog..."
  6. Re:Nokia -- why? by jonwil · · Score: 4, Interesting

    What happened is that Microsoft managed to get an ex-Microsoftie into the top job who then eliminated a major competitor and turned them into the biggest supporter of the Microsoft platforms.

    And with Nokia being all about Windows, Qt has no place at Nokia anymore, hence the decision to get rid of Qt.

  7. Re:Nokia -- why? by RoccamOccam · · Score: 5, Interesting

    This. For quite a while, I've had a sneaking suspicion that Nokia's acquisition of Qt is one of the principal reasons that Microsoft embarked on their torpedo-Nokia strategy.

  8. Re:Nokia -- why? by PolygamousRanchKid+ · · Score: 5, Insightful

    ex(?)-Microsoftie

    Does anyone believe that Elop is not still working for Microsoft . . . ?

    --
    Schroedinger's Brexit: The UK is both in and out of the EU at the same time!