Separed at birth

Software

Here are two screenshots of Microblog plasmoids. There are two nice novelties that can be noted here (due respectively to KDE Plasma Workpace 4.6 and 4.7) are the support of “reply to message id” in the twitter API, so in Identica conversations will appear correctly threaded (sadly there is still no way to retrieve that threading information from the API) and the support for marking messages as favorites, that will appear in 4.7

Microblog plasmoid

On the right is the usual good old stock Microblog plasmoid, on the left it’s the plasmoid rewritten in QML+JavaScript. It is on early development but is probably going to replace the fomer (there are still some layout differences and details, all of this is going to get polished).

What’s nice is that in two days of development that plasmoid reached about 90% of the features the C++ counterpart gained in well, ages 😉 so I’m quite confident the development speed in Plasma will get a dramatic boost.

All of that code in in KDE svn playground repository, I will give more info when all will move to git together with the rest of KDE software.

10 thoughts on “Separed at birth

  1. Juan Antonio Rafael Raúl Sarrasqueta

    “I’m quite confident the development speed in Plasma will get a dramatic boost”

    What about Plasma performance? We all know that it was somewhat bad with C++ (not language’s fault), so, in JS it will be even worse!

    Do you have any benchmarks on that? And, do you remember why we all abandoned the C# idea? Plasma must be responsive, and using JavaScript doesn’t help at all!

    Reply
  2. lefty.crupps

    I agree with Juan Antonio, Plasma must be responsive; interpreted languages aren’t as responsive as compiled code. Why are you looking to move to JavaScript for this plasmoid?

    Reply
  3. Aaron Seigo

    “Plasma must be responsive, and using JavaScript doesn’t help at all!”

    virtually all of the code actually running in that plasmoid is C++: the widgets, the SVG painting, the DataEngine, the network access, all that stuff.

    the JavaScript + QML parts are only used for the plasmoid UI bits. so the impact is pretty small since the amount of code being written in JavaScript is small relative to that which remains (and always will remain) compiled (due to being written in e.g. C++).

    but it’s not even that simple: ignoring that JavaScript engines have gotten extremely fast in recent years, it is easier to write performant UIs with QML than it is in C++. the language is simply suited for it, and the results are often more fluid in feel and use. the kind of complexity of a compiled language such as C++ often just gets in the way of the developer trying to make something good in the UI. it’s perfect for library and infrastructure work, but QML can be a much shorter (and achievable) path to good UI results. (from a user’s POV)

    moreover, if we move everything to QML (probably a 2 year project) then we can then move to the fully OpenGL accelerated Qt scene graph written for QML. the performance difference is absolutely _staggering_. to do such a thing, it requires a declarative rather than an imperative approach to painting, so a tool like QML becomes necessary. and since the tool already exists (QML + the scene graph), it is where we are heading.

    add in the new abilities like being able to switch UI at runtime depending on the device it is on, and having an as-good-or-better UI experience now is already worth it. being able to use the accelerated scene graph in the future, which depends on this QML work, will make it a no brainer.

    Reply
  4. Randal Lovelace

    I’m using this beautiful new version with Twitter

    It’s smooth, stays updated, and allows for @theirnamehere
    and full re-tweets.

    Thanks for the great work!

    Randy

    Reply
  5. Jonathan Riddell

    We have a patch in Kubuntu kubuntu_02_microblog_default_configuration.diff which makes it work without configuration (reads a default feed, in our case kubuntu) on the principle that it’s much better to do something useful without configuration where possible. If you’re rewriting it in Qt Quick please include such a feature.

    Reply
  6. Marco Martin

    @Jonathan Riddell: yes, it’s a good feature indeed, i will include it in the QML version.
    but please, for the patch you have now, do a reviewboard request 😉

    Reply
  7. blairjian

    Microblog [url=http://www.airmaxport.com]air max on sale[/url] plasmoid, on the left it’s the plasmoid rewritten in QML+JavaScript. It is on early development but is probably going to replace the fomer (there are still some layout differences and details, all of this is going to get polished).

    Reply

Comments are closed.