Linked by lemur2 on Tue 22nd Feb 2011 22:37 UTC
Qt A first alpha version of a Qt implementation for the Android mobile operating system has been announced by Romanian software developer Bogdan Vatra. Since Nokia in co-operation with Microsoft have announced that it does not intend to develop a Windows Phone variant of the GUI framework, Qt for Android represents the only remaining route/platfrom to providing mobile phone apps developed using Qt.
Order by: Score:
BSD?
by TheGZeus on Tue 22nd Feb 2011 23:10 UTC
TheGZeus
Member since:
2010-05-19

So it contains no Qt code, itself?

Reply Score: 2

RE: BSD?
by lemur2 on Tue 22nd Feb 2011 23:45 UTC in reply to "BSD?"
lemur2 Member since:
2007-02-17

So it contains no Qt code, itself?


As I understand it, Qt libraries are available licensed under the LGPL license.

http://qt.nokia.com/about/licensing/

LGPL includes a linking exception.

http://en.wikipedia.org/wiki/GPL_linking_exception

Reply Score: 2

RE[2]: BSD?
by TheGZeus on Tue 22nd Feb 2011 23:55 UTC in reply to "RE: BSD?"
TheGZeus Member since:
2010-05-19

Yes, but 'linking' and 'containing code from' are two different things.

I'm not saying it's in violation, just that it's interesting, technically.

Reply Score: 2

RE[3]: BSD?
by lemur2 on Wed 23rd Feb 2011 00:01 UTC in reply to "RE[2]: BSD?"
lemur2 Member since:
2007-02-17

Yes, but 'linking' and 'containing code from' are two different things. I'm not saying it's in violation, just that it's interesting, technically.


http://en.wikipedia.org/wiki/GPL_linking_exception

A GPL linking exception modifies the GNU General Public License (GPL) to create a new, modified license. Such modified licenses enable software projects which provide "library" code, to be "linked to" the programs that use them, without applying the full terms of the GPL to the using program. Linking is the technical process of connecting code in a library to the using code, to produce a single executable file. It is performed either at compile time or run time in order to produce functional machine-readable code.


I would imagine that the Necessitas Suite links the Qt libraries at compile time. As I understand it, this is also known as "static linking". Using static linking, the target system (in this case Android) does not need to have the libraries pre-installed, as they will be included in the Necessitas Suite as shipped, as allowed by the linking exception of the LGPL.

Edited 2011-02-23 00:04 UTC

Reply Score: 3

RE: BSD?
by rr7.num7 on Wed 23rd Feb 2011 00:23 UTC in reply to "BSD?"
rr7.num7 Member since:
2010-04-30

Actually, different parts are licensed differently.

http://sourceforge.net/p/necessitas/wiki/Necessitas%20licensing...

* All work inside Qt source tree must follow Qt licensing policy. Additionally to that, I (Bogdan Daniel Vatra ) hereby release all my work, inside Qt source tree, into the public domain.
* All sources (outside Qt source tree) which are directly related with applications (e.g. qtandroidplatformplugin (c++, java, etc.), Ministro communication interface) MUST be released under BSD license.
* All other additional tools which don't not affect apps licensing (e.g. Ministro Qt installer/provider) MUST be free software. I (Bogdan Daniel Vatra ) released Ministro under GPL v3+ license, but the communication API/protocol is under BSD license, so, ANY application (even if that application is NOT free software) can freely use Ministro services (Ministro != MySQL ;) !).

Reply Score: 2

RE[2]: BSD?
by TheGZeus on Wed 23rd Feb 2011 00:29 UTC in reply to "RE: BSD?"
TheGZeus Member since:
2010-05-19

Wait, they did work in the Qt source tree, and tried to dual-license it? Public domain is far more permissive than LGPL.
Man, I smell a controversy I didn't smell an hour ago...

Reply Score: 1

RE[3]: BSD?
by lemur2 on Wed 23rd Feb 2011 00:34 UTC in reply to "RE[2]: BSD?"
lemur2 Member since:
2007-02-17

Wait, they did work in the Qt source tree, and tried to dual-license it? Public domain is far more permissive than LGPL. Man, I smell a controversy I didn't smell an hour ago...


You must have a very peculiar sense of smell.

The statement is as follows: "Additionally to that, I (Bogdan Daniel Vatra ) hereby release all my work, inside Qt source tree, into the public domain."

The author of any work can do whatever he/she wants with that work, including releasing it to the Qt source tree and also releasing it to the Public Domain at the same time, if that is what the author wants to do.

Edited 2011-02-23 00:53 UTC

Reply Score: 4

RE[4]: BSD?
by TheGZeus on Wed 23rd Feb 2011 01:41 UTC in reply to "RE[3]: BSD?"
TheGZeus Member since:
2010-05-19

Ah. I just misread it.
Though I don't remember what I got mixed up... *shrug*

Reply Score: 2

RE[4]: BSD?
by TheGZeus on Wed 23rd Feb 2011 05:42 UTC in reply to "RE[3]: BSD?"
TheGZeus Member since:
2010-05-19

Hmm... just thought of something: I thought Qt required copyright assignment.
If that's the case, then things get confusing.

Reply Score: 2

RE[5]: BSD?
by lemur2 on Wed 23rd Feb 2011 05:52 UTC in reply to "RE[4]: BSD?"
lemur2 Member since:
2007-02-17

Hmm... just thought of something: I thought Qt required copyright assignment. If that's the case, then things get confusing.


http://lwn.net/Articles/410407/

Since 1998 TrollTech entered into an agreement with the KDE Free Qt Foundation which gives the foundation the ability to relicense the Qt codebase as BSD.

http://blogs.fsfe.org/adridg/?p=628

Since 2009: Nokia drops copyright-assignment completely on Qt and moves to a contributor agreement that is a based on a license from the external contributor to Nokia.


"Our goal with the new site is to make this process as simple and welcoming as possible, and that’s why we will no longer ask for copyright assignment."

Contributor agreement is here:
http://qt.nokia.com/merge_requests/agreement

Edited 2011-02-23 05:53 UTC

Reply Score: 4

RE[6]: BSD?
by TheGZeus on Wed 23rd Feb 2011 05:56 UTC in reply to "RE[5]: BSD?"
TheGZeus Member since:
2010-05-19

Cool but do they not sell non-free licenses any more, then?
What's Skype using, then... I'm gonna need to talk to a lawyer before I can figure this all out...

Reply Score: 2

RE[7]: BSD?
by lemur2 on Wed 23rd Feb 2011 06:10 UTC in reply to "RE[6]: BSD?"
lemur2 Member since:
2007-02-17

Cool but do they not sell non-free licenses any more, then?


As far as I know there are still non-free licenses available for Qt for developers wishing to write for-profit applications with restrictive EULAs.

What's Skype using, then... I'm gonna need to talk to a lawyer before I can figure this all out...


Skype uses an number of different UIs for different platforms:
http://en.wikipedia.org/wiki/Skype

Reply Score: 3

Binary or java?
by bnolsen on Wed 23rd Feb 2011 01:27 UTC
bnolsen
Member since:
2006-01-06

I didn't see a description of this right off. Does this run as pure native on the linux kernel or does this interface with the java stuff? If the java stuff is mostly bypassed this has some great promise (IMHO).

Reply Score: 2

RE: Binary or java?
by lemur2 on Wed 23rd Feb 2011 01:37 UTC in reply to "Binary or java?"
lemur2 Member since:
2007-02-17

I didn't see a description of this right off. Does this run as pure native on the linux kernel or does this interface with the java stuff? If the java stuff is mostly bypassed this has some great promise (IMHO).


Qt itself is C++. Qt applications are mostly written in C++ also, but any language which has bindings available can be used. KDE desktop widgets, for example, use Qt and they can be written in Python or Javascript.

Qt provides excellent themeing capabilities, such that applications written under different toolkits (for example GTK and Qt) can be presented to the user as indistinguishable.

Here is an example:
http://www.kde.org/announcements/4.6/plasma.php
A variety of other improvements apparent in the Plasma Workspaces include changes to the Oxygen icon theme and better integration of applications not built on the KDE Platform thanks to a completely rewritten Oxygen GTK theme.


http://www.kde.org/announcements/4.6/screenshots/46-w06.png

Reply Score: 3

RE[2]: Binary or java?
by MamiyaOtaru on Wed 23rd Feb 2011 08:27 UTC in reply to "RE: Binary or java?"
MamiyaOtaru Member since:
2005-11-11

as before, a great example of all efforts at visual integration coming from the Qt-KDE side. GTK apps are integrated into KDE by an Oxygen theme (made by KDE dudes) for GTK. Qt apps fit into a GTK environment thanks to a Qt theme made by Trolltech^H^H^HNokia

anyway, the example you give has little to do with Qt and more to do with some dedicated KDE folks making use of GTK's themability to make a theme for it that matches KDE's theme.

Reply Score: 5

RE: Binary or java?
by Moochman on Wed 23rd Feb 2011 01:46 UTC in reply to "Binary or java?"
Moochman Member since:
2005-07-06

It runs natively using the Android NDK along with the OpenGL ES APIs. There's almost no interaction with the Java stuff AFAIK. So I guess the answer is "on the kernel".

Reply Score: 2

RE[2]: Binary or java?
by bnolsen on Wed 23rd Feb 2011 02:04 UTC in reply to "RE: Binary or java?"
bnolsen Member since:
2006-01-06

This is excellent. I have a viewsonic g tablet (tegra2) running tnt lite (android) and the interface is constantly choppy. Frankly my n900 feels snappier and smoother interface wise. The native stuff should help with the responsiveness...it could even give google "an out" regarding their troubles with oracle and dalvik.

Reply Score: 3

RE[2]: Binary or java?
by moondevil on Wed 23rd Feb 2011 11:40 UTC in reply to "RE: Binary or java?"
moondevil Member since:
2005-07-08

Sure there is interaction with Java.

Only with Android 2.3 it is possible to create pure C or C++ activities.

In prior versions you can only access native code via JNI.

So there is the need to have a Java wrapper to start the application and interact with Android APIs when required, at least if targeting devices older than 2.3.

Reply Score: 3

v Feel sorry for Android users
by MacMan on Wed 23rd Feb 2011 01:27 UTC
RE: Feel sorry for Android users
by TheGZeus on Wed 23rd Feb 2011 01:42 UTC in reply to "Feel sorry for Android users"
TheGZeus Member since:
2010-05-19

Shut up, and drink your Kool-Aid.

Reply Score: 4

v RE[2]: Feel sorry for Android users
by MacMan on Wed 23rd Feb 2011 02:12 UTC in reply to "RE: Feel sorry for Android users"
lemur2 Member since:
2007-02-17

Sorry you are unable to think a little critically and realize that people want to use different platforms and not have QT OS shoved down their throats.


Sorry you are unable to think a little critically and realize that Qt is by far the best way available for people to be able to use multiple different platforms.

Edited 2011-02-23 02:27 UTC

Reply Score: 7

TheGZeus Member since:
2010-05-19

I'm calling Apple People cultists.

It's a broad brush, but I do make a distinction between "people" and "users".

"This developer didn't use xcode and 100% native widgets! EVERYTHING MUST LOOK LIKE IT CAME WITH MY COMPUTER!"
Shut up.

Reply Score: 4

TheGZeus Member since:
2010-05-19

Actually, if it's not using native widgets, the dev did something wrong.

Reply Score: 3

lemur2 Member since:
2007-02-17

Actually, if it's not using native widgets, the dev did something wrong.


Exactly so

http://images1.videolan.org/vlc/screenshots/0.9.2/osx-0.9.2-ASS-sof...

... but I guess the OP isn't one to let the inconvenient facts get in the way of a good whinge!

Edited 2011-02-23 04:05 UTC

Reply Score: 5

MacMan Member since:
2006-11-19

VLC on Mac UI is written with Cocoa! No QT here!

Just because an app may use QT for a linux version does not mean its used elsewhere. Similarly with Skype, again, Mac version is 100% pure native Cocoa.

Why you may ask? simply because of what a disaster QT is on the Mac.

Reply Score: 1

lemur2 Member since:
2007-02-17

Guess you've never had the pain of trying to use a QT app on OSX. It is so freaking bad that I use it Ubuntu inside parallels.


Fortunately I don't have to use a mac. Unfortunately, macs are separatists enough that you virtually have to write native applications for it, or put up with the macs almost complete inability to integrate outside applications well.

FYI, I have an HTC 7 Trophy which runs WP7, and its a nice phone, and I'm glad I will never have the horror of seeing a QT app on it.


Don't let it update just now ...
http://arstechnica.com/microsoft/news/2011/02/everything-that-can-g...
(although this snafu may be constrained to Samsung WP7 phones, so you may be OK).

QT is fine for KDE where it is the native toolkit, but its just a UI disaster everywhere else because it does not use the native controls. Rather, it tries to emulate them and it does a piss poor job.


It does a far better job than anything else available for the same purpose.

Qt applications run well enough on Windows, for example, for it not to be a problem, as shown by a few examples:

http://www.videolan.org/vlc/download-windows.html
http://www.scribus.net/canvas/Scribus
http://www.virtualbox.org/
http://www.wolfram.com/mathematica/
http://www.clementine-player.org/

Actually, Clementine doesn't look that bad on a mac:
http://images.clementine-player.org/screenshots/clementine-0.5-4.jp...

or on Windows for that matter:
http://images.clementine-player.org/screenshots/clementine-0.5-1.pn...

Methinks thou dost protest too much!

Edited 2011-02-23 03:45 UTC

Reply Score: 5

nt_jerkface Member since:
2009-08-26

Which Qt program in OSX is so awful? Yes it has some remaining issues but calling it a disaster is a tad extreme.

Reply Score: 2

ebasconp Member since:
2006-05-09

Have you lost your job because of Qt? Did Qt fsck your wife? Did Qt kill your brother?

Why do you have that non-sense hate towards Qt? I mean, everyone has his/her preferences and that deserves respect, but bashing Qt just because you do not like it, does not make any sense.

Qt is by far the best C++ cross platform toolkit available in the world today. I like .NET Windows Forms and Presentation Foundation and I worked a lot with Java Swing, but just Qt provides me a rich set of widgets in all platforms I work on.

Qt on Mac is really really good and it uses the native rendering system (Cocoa) to draw its widgets, so, your "Qt on Mac is a disaster" is just speculation. If the developer was not able to create a nice native UI on mac using Qt, is not Qt's fault. Look at Qt Creator on the Mac, it is beautiful and looks very very native.

Reply Score: 9

ple_mono Member since:
2005-07-26

Qt on Mac is really really good and it uses the native rendering system (Cocoa) to draw its widgets, so, your "Qt on Mac is a disaster" is just speculation. If the developer was not able to create a nice native UI on mac using Qt, is not Qt's fault. Look at Qt Creator on the Mac, it is beautiful and looks very very native.

Easy now. Qt on mac is rather good, but i wouldn't call it REALLY good. Language bindings are tricky, and at times you've got to compile qt yourself to have the right flavour for you particular binding.
It does draw native widgets, but only a subset of what cocoa does natively, and you really have to go out of your way to make it look and behave like people (well, mac people) expect a quality OSX app to do.
Interface designer on the mac is a prime example on how great an qt app may looks with KDE, and how poor it looks (and behaves) in OSX.

What i'm saying is that while it's true qt does draw native widgets in OSX, at times it's as rough as google translate can be when doing word for word translations. Details get lost in the process.
My own experience tell me that you have to tweak even qt gui code to fit well with the OS/DE your targeting, at least with desktop applications.

Reply Score: 2

MacMan Member since:
2006-11-19

Why do I detest QT, 2 big reasons:

1: Used to work in a group run by a proud Mac hater, who's mantra was "I hate Macs, I hate Macs, I want to f@ck Mac users". Now they were funded by an agency that stated their app must be open source. So, the person in charge gave the edict that it will be written in QT because if they used another env like C#, he reasoned that because it was open source, others would develop a Mac native version, and with it being QT, it was just miserable enough on the Mac to make users hate it, but not so miserable in that someone would bother to write a native Mac version.

2: QT is much like when I see Americans in Rome screaming louder and louder in English at shop keepers who only speak Italian. I like Objective-C. The reason I use Macs is because I like to write in Objective-C. If GNUStep worked better, I might switch to Linux. I don't want to be forced to use / develop in QT. I don't care if Objective-C does not work well on Windows/Linux because I don't want to force my language on them. But this notion of QT everywhere is in fact forcing C++/QT on everyone.

So, 1, and 2 are connected. When there is a half assed solution like a QT app, there is less motivation to write a true native app, thus forcing QT on people that don't want it.

My computer is a dual boot between OSX and Win7. I use Win7 because I like writing in C# and I use OSX because I like writing in Objective-C. Don't force this half assed, jack of all trades, master of none QT crap down my throat.

Reply Score: 2

ebasconp Member since:
2006-05-09

So if you like Macs and you like C#, try the MonoMac bindings the Mono project is implementing ;)

http://tirania.org/minimac

Ok, you like Objective-C and I respect that; but you are bashing Qt saying that they force to do C++/Qt development on all platforms it runs, but that is actually quite similar to Apple forcing us to develop on Objective-C if we want to write something we would want it to be in their AppStores.

Edited 2011-02-23 20:06 UTC

Reply Score: 3

lemur2 Member since:
2007-02-17

So if you like Macs and you like C#, try the MonoMac bindings the Mono project is implementing ;) http://tirania.org/minimac Ok, you like Objective-C and I respect that; but you are bashing Qt saying that they force to do C++/Qt development on all platforms it runs, but that is actually quite similar to Apple forcing us to develop on Objective-C if we want to write something we would want it to be in their AppStores.


Qt is by no means limited to use with C++.

For example:
http://www.pyside.org/
(LGPL-licensed Python bindings for the Qt cross-platform application and UI framework)

A list of the languages which have Qt bindings:
http://en.wikipedia.org/wiki/Qt_%28framework%29#Bindings

This looks interesting, Qt bindings for D:
http://www.dsource.org/projects/qtd

Examples of results:
http://www.dsource.org/projects/qtd/wiki/Screenshots

Edited 2011-02-23 22:24 UTC

Reply Score: 3

TheGZeus Member since:
2010-05-19

There's even a project for Scheme bindings. Stalled, but likely to revive soon. (don't want to digress too much, so I'll spare y'all the details)

Reply Score: 2

TheGZeus Member since:
2010-05-19

This is utter gibberish and double-talk.

None of this has any technical merit, or even any logic.

Reply Score: 3

StephenBeDoper Member since:
2005-07-06

So you dislike QT because of personal, subjective language preference and negative association based on past experience - or, in other words, you dislike it for reasons that have nothing whatsoever to do with QT's actual merits?

Reply Score: 5

RE: Feel sorry for Android users
by Moochman on Wed 23rd Feb 2011 01:57 UTC in reply to "Feel sorry for Android users"
Moochman Member since:
2005-07-06

Not all apps call for a GUI that fits in with the system. Pretty much anything that "thinks outside the box" of standard widgets laid out on a grid is fair game. Apps with very innovative and/or visual-centric UIs have no need to fit in. Games, apps for creating music, VJing, creating photo collages, painting/drawing, 3D modeling... I can think of plenty of cases where using the standard UI widgets could be just as much a hindrance as it can be a help for something like a Twitter app.

Reply Score: 5

RE[2]: Feel sorry for Android users
by lemur2 on Wed 23rd Feb 2011 02:05 UTC in reply to "RE: Feel sorry for Android users"
lemur2 Member since:
2007-02-17

Not all apps call for a GUI that fits in with the system. Pretty much anything that "thinks outside the box" of standard widgets laid out on a grid is fair game. Apps with very innovative and/or visual-centric UIs have no need to fit in. Games, apps for creating music, VJing, creating photo collages, painting/drawing, 3D modeling... I can think of plenty of cases where using the standard UI widgets could be just as much a hindrance as it can be a help for something like a Twitter app.


Precisely.

Here is an example of a whole class of applets called "Plasmoids" that don't follow the traditional Windows-Icons-Menu approach for laying out KDE applications:

http://techbase.kde.org/Development/Tutorials/Plasma

There is a lot of flexibility in developing them also, but they are still all meant to be used on the one desktop environment.

Reply Score: 3

RE: Feel sorry for Android users
by dsmogor on Wed 23rd Feb 2011 10:42 UTC in reply to "Feel sorry for Android users"
dsmogor Member since:
2005-09-01

I belive it's quite a valid concern. With the whole GUI layer being written in managed language the path for intergrating native apps is basically closed besides games and "world in itself" systems like, say some office suite.

Edited 2011-02-23 10:42 UTC

Reply Score: 3

RE: Feel sorry for Android users
by boldingd on Thu 24th Feb 2011 16:04 UTC in reply to "Feel sorry for Android users"
boldingd Member since:
2009-02-19

[Feel sorry for Android users,] for they might have to endure alien QT applications shoved down their throats.

Android users will not "have to" endure Qt applications. They can just not install them. It's not like Android doesn't already have several competing apps for pretty much every common task you'd use a smart phone for (multiple mail clients, web browsers, rss feed-readers, media players, and so on). They'll install new, Qt-based applications if-and-only-if they're better than the native apps that are already available.

Well see if QT on Android is as bad as QT on Mac, I somehow suspect that it will be even worse.

We will. It's not a foregone conclusion that it's going to be. Personally, I think it's going to be awesome.

So Android's native API is Java (which is cool) , then you try to shove the whole QT monstrosity on top of Java winding tool kit, good luck with that. i just wonder how accepting Android users will be of apps that look, feel, behave absolutely nothing like native Android apps.

I just wish developers would realize how badly they are short changing users by shoving these "cross platform" UIs down their throats. This is no such thing as a "cross platform" that fits in properly with the native UI.

Its no wonder why there will be no QT on Windows Phone. Windows Phone is nice, all the apps fit perfectly, I've heard it described as one can not tell where the OS stops and the apps start. There is NO WAY to achieve this kind of 'synergy' with a "cross platform" UI toolkit.

If I were an Android user, the last thing I would want is an app that looks like some warmed over KDE app running a theme that tries to mimic the native underlying toolkit.


You're confused about what's actually going to happen. When people talk about "Qt on mobile devices," they're really talking about Qt Quick, which is an entirely different beast than the normal widget set and C++ API. One of Qt Quick's major design goals is to be good at developing mobile phone applications.

Edited 2011-02-24 16:05 UTC

Reply Score: 2

Not just Android
by Moochman on Wed 23rd Feb 2011 01:36 UTC
Moochman
Member since:
2005-07-06

"Since Nokia in co-operation with Microsoft have announced that it does not intend to develop a Windows Phone variant of the GUI framework, Qt for Android represents the only remaining route/platfrom to providing mobile phone apps developed using Qt."

Well, that's inaccurate. Qt is capable of running just fine on iPhone and webOS too--anywhere there is a native, OpenGL-based platform, in fact. The ports just aren't quite as far along. But the demo apps all work, and assuming that Nokia's Project Lighthouse keeps making progress (which is supposedly still the plan), it should become even easier to port Qt to more platforms in the future.

http://labs.qt.nokia.com/category/labs/lighthouse/

QML app running on the iPhone:

http://www.youtube.com/watch?v=MjYJdi48B8Q

Qt on webOS:

http://www.precentral.net/qt-apps-preware-more-way

Reply Score: 8

RE: Not just Android
by lemur2 on Wed 23rd Feb 2011 01:43 UTC in reply to "Not just Android"
lemur2 Member since:
2007-02-17

"Since Nokia in co-operation with Microsoft have announced that it does not intend to develop a Windows Phone variant of the GUI framework, Qt for Android represents the only remaining route/platfrom to providing mobile phone apps developed using Qt." Well, that's inaccurate. Qt is capable of running just fine on iPhone and webOS too--anywhere there is a native, OpenGL-based platform, in fact. The ports just aren't quite as far along. But the demo apps all work, and assuming that Nokia's Project Lighthouse keeps making progress (which is supposedly still the plan), it should become even easier to port Qt to more platforms in the future. http://labs.qt.nokia.com/category/labs/lighthouse/ QML app running on the iPhone: http://www.youtube.com/watch?v=MjYJdi48B8Q Qt on webOS: http://www.precentral.net/qt-apps-preware-more-way


Point taken.

Reply Score: 2

Qt Quick
by puelocesar on Wed 23rd Feb 2011 01:44 UTC
puelocesar
Member since:
2008-10-30

This is very nice indeed! Now coding interfaces for Android will not suck anymore, now that I can use Qt Quick

Seriously, does Google hate Interface Developers? What the hell is that Android SDK?

Reply Score: 5

Meanwhile ... Nokia, Qt and WP7
by lemur2 on Wed 23rd Feb 2011 02:47 UTC
lemur2
Member since:
2007-02-17

http://arstechnica.com/microsoft/news/2011/02/everything-that-can-g...

Oh dear. Perhaps it might not be to bold to suugest that Nokia may not have made the absolute best choice?

Just saying.

Reply Score: 3

puelocesar Member since:
2008-10-30

Funny, yesterday I had a long discussion with Peter Bright on twitter because I acted as a troll and called his articles "MS fanboy bullshit".

In the end I apologize for that, it was very ugly from my part..

Probably it's just a coincidence, but it's curious to see him criticizing MS today ;)

Reply Score: 2

RE: Meanwhile ... Nokia, Qt and WP7
by Nelson on Wed 23rd Feb 2011 23:06 UTC in reply to "Meanwhile ... Nokia, Qt and WP7"
Nelson Member since:
2005-11-29

It's happening to a small slice of devices (Samsung devices, and some Samsung devices at that, specifically those who run an older version of the firmware included in the Samsung phones.).

The problem is very small, however a vocal minority can make an issue seem bigger than it is.

Android doesn't have this problem, but I suppose it's easy not to have upgrade problems when Google let's carriers block updates indefinitely. Lol.

Reply Score: 2

lemur2 Member since:
2007-02-17

Wonder if any Android user will actually pay for a half-assed 5 minute port of a KDE app? I keep hearing about how "easy" it is to create "cross-platform" apps with QT. Well, every QT app I've ever seen really shows it! -- they all look like they were thrown together in 5 minutes! I doubt that many Android users would pay for an app that behaves completely alien, and looks like its been assembled at gun point.


My oh my, but someone seems to have an agenda to disparage here!

Qt applications look far better on a mac:
http://images.clementine-player.org/screenshots/clementine-0.5-4.jp...
http://www.virtualbox.org/attachment/wiki/Screenshots/mac_os_x.png
than Cocoa applications look anywhere else, that's for sure!

Edited 2011-02-23 04:10 UTC

Reply Score: 3

MacMan Member since:
2006-11-19

No, not disparage, but rather ENCOURAGE

Encourage devs to use the native toolkit on different platforms.

Encourage devs to create apps that leverage the strengths of different platforms.

Encourage devs to give users the native experience they deserve.

Encourage devs not to create lazy half-assed, "cross platform" UI apps.

Encourage users to use different platforms and have a native experience.

Encourage devs to learn about the different native languages: Objective-C, C# and Java of each platform.

Reply Score: 0

lemur2 Member since:
2007-02-17

No, not disparage, but rather ENCOURAGE Encourage devs to use the native toolkit on different platforms. Encourage devs to create apps that leverage the strengths of different platforms. Encourage devs to give users the native experience they deserve. Encourage devs not to create lazy half-assed, "cross platform" UI apps. Encourage users to use different platforms and have a native experience. Encourage devs to learn about the different native languages: Objective-C, C# and Java of each platform.


Meanwhile, some developers who want the widest market for their write-once application will simply ignore your "encouragement", use Qt and get a fine-looking well-behaved native-widget application on multiple platforms with a minimum of fuss and without having to do any re-writes.

With more people to sell to for less work, guess which developers will be better off?

Reply Score: 5

Nelson Member since:
2005-11-29

This is precisely what developers should avoid. Do not shortchange an experience to make a quick buck.

Seriously, use a programming pattern and separate your UI from your backend logic. Write a native UI frontend for every host platform and you will reap the benefits of superior integration.

Qt is good, hell it's nice, but it's not native. On mobile, the feeling of nativity is even more pronounced because the interaction methods are relatively more limited.

Someone who's used Android for a while is going to very harshly feel the differences in a Qt application. Most of these native controls have very specific animation timings, gesture responsiveness, and so on, which means that anything even slightly off is indeed noticeable.

Reply Score: 2

Nth_Man Member since:
2010-05-16

Qt is good, hell it's nice, but it's not native.

We're not talking about interpreted programs, but compiled ones, with different resultant code depending on the target platform.

"Qt uses the native graphics APIs of each platform it supports"
http://qt.nokia.com/products

For example, I've used Qt Creator in Linux and Windows and the controls were the ones from each operating system.

Reply Score: 3

Nelson Member since:
2005-11-29



"Qt uses the native graphics APIs of each platform it supports"
http://qt.nokia.com/products

For example, I've used Qt Creator in Linux and Windows and the controls were the ones from each operating system.


For someone who's "used Qt Creator", you're quite frankly wrong. Qt uses the themeing APIs of the respective platforms to get colors and such correct, but it does not use the native platform widgets.

Reply Score: 2

lemur2 Member since:
2007-02-17

" "Qt uses the native graphics APIs of each platform it supports" http://qt.nokia.com/products For example, I've used Qt Creator in Linux and Windows and the controls were the ones from each operating system.
For someone who's "used Qt Creator", you're quite frankly wrong. Qt uses the themeing APIs of the respective platforms to get colors and such correct, but it does not use the native platform widgets. "

You are both correct ... It may not use the native platform widgets ... but it does use the native graphics APIs of each platform it supports.

http://qt.nokia.com/products/library/modular-class-library

However, the Qt widgets can be made to conform to native widget appearance via the use of the Qstyle class:
http://doc.qt.nokia.com/4.7/qstyle.html
http://doc.qt.nokia.com/4.7/qmacstyle.html

and style sheets:
http://doc.qt.nokia.com/4.7/stylesheet.html

The QMacStyle class provides a Mac OS X style using the Apple Appearance Manager.

This class is implemented as a wrapper to the HITheme APIs, allowing applications to be styled according to the current theme in use on Mac OS X.


By using these facilities, and bearing in mind the few limitations they impose, Qt applications can achieve a high level of integration with the Mac OSX desktop, including widgets of native appearance which follow the selected desktop theme.

Edited 2011-02-24 03:27 UTC

Reply Score: 3

Nth_Man Member since:
2010-05-16

I have no citations from Nokia about widgets, but at least I had about native applications:

"Qt uses the native graphics APIs of each platform it supports"
http://qt.nokia.com/products

and it seems it was worth nothing, you said "Qt is good, hell it's nice, but it's not native." and nothing seemed to happen. Who am I supposed to believe?

Reply Score: 2

nt_jerkface Member since:
2009-08-26

Seriously, use a programming pattern and separate your UI from your backend logic. Write a native UI frontend for every host platform and you will reap the benefits of superior integration.


Seriously, software developers know the benefits of using native controls but do not have unlimited time and resources. Learning a new language and system takes time that many do not have.

Someone who's used Android for a while is going to very harshly feel the differences in a Qt application.


That's ridiculous. Most mobile applications are games which don't need to look native. IOS applications of all types don't have a consistent look.

Reply Score: 4

Nelson Member since:
2005-11-29


Seriously, software developers know the benefits of using native controls but do not have unlimited time and resources. Learning a new language and system takes time that many do not have.


Then find another field. This isn't about commoditizing software development, this isn't a race to the bottom. You are supposed to pay attention to detail, you're supposed to design a maintainable, scalable, app. This isn't something you should just now be doing, this should be programming practices you're following - anyway - .

Writing anything even remotely complex and if your shop has any kind of credebility, you 'll already be using a separation of concerns.

This whole thing stinks, and all it will do is lower the quality of applications to where they're all carbon copies of each other on every platform. At some point, being so much about money, actually decreases your bottom line.

I've found as a trend in these comments, that it's very easy for a few non programmers to sit there and say what programmers should do, or ought to be doing, but what they're expected to do and told to do at work is a completely different thing all together. I know at least at my job, sacrificing code quality for turn around time is generally frowned upon. Both personally and as a policy.

If you get to the point in the commoditization of the software development industry, where the need to "learn" is used as a negative, then we've already reached a very sad state.

Besides, it's Qt, it's C++, you're already learning and maneuvering through extremely obtuse and unwieldly programming concepts.

Don't look at good practicies as the enemies, look at a cumbersome and outdated language as the problem.

Reply Score: 2

TheGZeus Member since:
2010-05-19

What?

This was just doubletalk, strawman garbage.

Reply Score: 2

boldingd Member since:
2009-02-19

A minimum of development fuss. Arranging to distribute Qt with your app is somewhat annoying.

Reply Score: 2

MORB Member since:
2005-07-06

All three major desktop PC OSes have pretty much identical UI paradigms with minor differences that can easily be abstracted away.

Targeting native APIs on desktop makes zero sense. It's a waste of time.

Reply Score: 8

lucas_maximus Member since:
2009-08-18

MacOSX is application centric whereas Windows is funnily enough Windows centric (so is KDE and GNOME).

They are not the same.

Reply Score: 2

TheGZeus Member since:
2010-05-19

What on earth does that even mean?

Reply Score: 2

rob_mx Member since:
2005-08-04

I think he meant Document Centric approach vs Application Centric approach.

Document centric refers to the main window is just the document you are working on, with floating windows allowing to modify/operate over the document. An example of this is Photoshop in MacOS: Main window only showing the image, and tools in separate floating windows.

Application centric is when the main window contains everything, document and tools, all in the same window. An example of this is Photoshop in Windows: where the image and tools are part of the main window.

Reply Score: 3

TheGZeus Member since:
2010-05-19

Ah, ok.

A bit of a digression, but at least I know what the sentences meant, in isolation.

Reply Score: 2

lucas_maximus Member since:
2009-08-18

I think he meant Document Centric approach vs Application Centric approach.


I seen them used interchangably by different people ... but thanks.

Reply Score: 2

jabbotts Member since:
2007-09-06

Encourage User/Developers to do things your way because no other way of doing things could possibly make any rational sense for anyone else.

Loose the OS snobbery troll.

Reply Score: 3

nt_jerkface Member since:
2009-08-26

No, not disparage, but rather ENCOURAGE

...

Encourage devs not to create lazy half-assed, "cross platform" UI apps.


These two statements are contradictory.

Not all ISVs have the resources to create native ports. Mac users should be glad with an application is written in Qt and not .NET.

There are plenty of open source projects that could use a native interface, why don't you stop being lazy and go volunteer your time?

Reply Score: 2

Nelson Member since:
2005-11-29

MonoMac is 10 times the development platform that Qt is on the Mac, when it comes to integrating with the host system. They actually do use Cocoa, and use it well.

The Mono folks have a lot of experience with wrapping Obj-C APIs in .NET magic. Stop with the baseless slamming.

Reply Score: 2

dsmogor Member since:
2005-09-01

Calm down and let the market decide, will you?

(I meant to address parent).

Edited 2011-02-23 11:06 UTC

Reply Score: 3

phoenix Member since:
2005-07-11

Interesting how there are no apps listed in your comment, nor a description of what is so wrong with them. Actually, there's really a lack of information in your comment. Reads more like a pointless rant.

Reply Score: 4

lemur2 Member since:
2007-02-17

Interesting how there are no apps listed in your comment, nor a description of what is so wrong with them. Actually, there's really a lack of information in your comment. Reads more like a pointless rant.


I think the "issue" this mac person might be having is Clementine.

http://images.clementine-player.org/screenshots/clementine-0.5-4.jp...

Looks just like a native Mac application, and it has a couple of features that Apple people might not want iDevice users to know about:

http://www.clementine-player.org/

Cross-platform - works on Windows, Mac OS X and Linux.
Native desktop notifications on Linux (libnotify) and Mac OS X (Growl).
Transcode music into MP3, Ogg Vorbis, Ogg Speex, FLAC or AAC.
Plays MP3, WMA, Vorbis, AAC, FLAC or ALAC audio files.

... and the biggy ...

Copy music to your iPod, iPhone, MTP or mass-storage USB player.

Any owner of an iPod or iPhone wouldn't need iTunes, nor a Mac, to enjoy their music.

<sarcasm>We just can't allow that kind of freedom for people now, can we? Got to try to put them off somehow.

PS: Then there is VLC for Mac and its ability to play WebM video on a Mac. Might that be an issue also? Can't let people do that now, can we? </sarcasm>

Edited 2011-02-23 05:13 UTC

Reply Score: 5

ple_mono Member since:
2005-07-26

Looks just like a native Mac application

I do know many of us (apple users) tend to be somewhat shallow, and so be it. Maybe were spoiled with good interface design. I dont know.

Let me just point out a few glicthes in clementine from that screenshot you linked to;
* It's clearly made for a window with borders
* Way too many dividers
* Little or no padding between interface elements

As much as i like clementine in KDE, the minimal effort made to make it look and feel like a "real" cocoa app is a fail in my book. Even if those are native widgets.

That said, many "real" cocoa applications also look like someone shat on them. Take a look here (warning, funny stuff); http://readthefuckinghig.tumblr.com/

Reply Score: 2

TheGZeus Member since:
2010-05-19

"what Steve likes" != "good"
It's one step above GNOME in "users are stupid, and need to be coddled" design.

"I like it" isn't an argument for "good", either.

Stop freaking out whenever something looks slightly different. Don't blame applications for your lack of understanding of/caring for the underlying actions your "magic" mouse is causing.

Why should anyone comply with a third-party's human interface guidelines?
If I want all the buttons on the bottom and a f--king psychedelic blowfish to appear whenever you mouseover, that's my decision.
You don't have to like it, you don't have to use it.

The "my way or the highway" attitude of Apple people enrages me, as in my experience it extends past their computer use and into their general attitude.

I've had Apple people argue that I should use Mac OS instead of Linux, even after I explain that it simply doesn't suit the way I interact with a computer.
When I finally get fed up with them refusing to either change the subject or end the conversation I show them my stumpwm/xterm/conkeror/emacs setup and they look at me like I'm a heretic and stop talking to me.
I'm fine with that.

Yeah, I get really heated when it comes to what that evil company does to the world.
Computers _matter_, and shouldn't be treated as toys.

Edited 2011-02-23 18:39 UTC

Reply Score: 4

puelocesar Member since:
2008-10-30

Actually User Interface Guidelines are very important, and every serious environment uses them. Including Gnome, KDE, Windows, Android, and etc. It's not only a Apple thing.

Consistency is one of the most important principles of usability, and usability is a very important thing when you actually *care* about your users.

If you do a software for you, ok, do it's interface the way you want it, but if you want to somebody else use it, please show the proper respect to these people with good usability.

Reply Score: 2

TheGZeus Member since:
2010-05-19

Pfft.

So what you're saying is that it's _wrong_ to make applications for OSX that work differently than the applications that come with OSX, because it might confuse the users...

Conform or GTFO?

Well, I already chose the latter, so...

This is no longer an operating system. It's a friggin Fisher Price workbench. This thing goes in that hole. That thing goes in this hole, and nothing actually allows you to build anything for yourself.

Suppose I think I have better guidelines than Apple, I should never port my application to their operating system?

Actually, that's true, because if I did I'd just get shit thrown at my by the users.

Aquamacs is an example of what happens when people fall for this crap. It's always noticeably behind Emacs, and it's _internally_ inconsistent, since they can't change the keybindings for everything that runs on Emacs to suit the OSX guidelines.

"OSX is great because it has features foo, bar, and baz!" Well, none of that matters, since if I use it, I _must_ put up with an interface that baffles me (as in, I don't understand why anyone ever thought it a good idea), and if I wrote an application for it, I couldn't release it, because Apple People would lynch me.

Yeah, I use hyperbole sometimes.
Figure out when.

Edited 2011-02-24 00:12 UTC

Reply Score: 3

r_a_trip Member since:
2005-07-06

Macman, stop trolling. Android has a far less unified look out of the box than iOS and WP7. This could be a side effect of Google and the OHA targetting the group of technically proficient, digital nomads. This is a group of people more interested in functionality and unfettered connectivity everywhere, than a strict adherance to some HIG. A QT app probably won't look out of place more than any of the other (dalvik) apps with "quirky" interfaces in the market today.

So you are preaching to the wrong choir. You'd be better of on a mac forum, pontificating on the woe's of us poor, QT-suffering Android users. Meanwhile, when can we expect the first QT apps in the Android Market?

Reply Score: 7

MacMan Member since:
2006-11-19

So why is whenever someone does not like QT or KDE its trolling?

I guess its cool to hate Apple, its cool to hate C#/Mono, but whenever anyone does not like QT, its trolling.

I think GTK is a good toolkit, C#/Winforms/WPF is simply brilliant, Objective-C is a joy to work with. GNU Octave (MATLAB language), Mathematica and Fortran90+ is what I use for numerics.

Out of all the languages / toolkits out there, the only one I truly detest is QT.

The only "cross platform" toolkit that gets even close to getting it right is Eclipse's SWT where they do use native widgets.

Reply Score: 2

Bill Shooter of Bul Member since:
2006-07-14

So why is whenever someone does not like QT or KDE its trolling?


No, its not what you are saying but how you are saying it that qualifies a number of your posts as trolls. You come off in your posts as an a**hole.

Reply Score: 7

TheGZeus Member since:
2010-05-19

It's trolling because you're just asserting "it's a disaster" and providing no evidence.

Reply Score: 3

Nth_Man Member since:
2010-05-16

Mathematica and Fortran90+ is what I use for numerics.


Does Mathematica use Qt?
http://qt.nokia.com/qt-in-use/story/customer/mathematica-by-wolfram...

Reply Score: 3

MacMan Member since:
2006-11-19

"Mathematica and Fortran90+ is what I use for numerics.


Does Mathematica use Qt?
http://qt.nokia.com/qt-in-use/story/customer/mathematica-by-wolfram...
"

Not on the Mac, Mathematica ONLY USES QT ON LINUX. How can I confirm this, grab the binary, look at the symbol table and what it links to. Not one shred of QT here. Look at every shared lib that Mathematica links to, and again, not one shred of QT.

Now, I have not used Mathematica on Windows for some time, but I have no reason to see why it should use QT because it has a mature and very good native UI on Windows, there is no reason for them to re-write it. Only reason they re-wrote the Linux UI is it was an ancient Motif UI and needed serious updating.

Reply Score: 2

Nth_Man Member since:
2010-05-16

> > Mathematica and Fortran90+ is what I use for numerics.

> Does Mathematica use Qt?
> http://qt.nokia.com/qt-in-use/story/customer/mathematica-by-wolfram...

Not on the Mac

I'll suppose you are telling the truth there.

Mathematica ONLY USES QT ON LINUX
.
Anyone that would have read the link would have seen:
“Being able to rely on Qt Development Frameworks’ developers to help us stay on top of portability problems is a plus for us. Qt certainly increased the quality of the product we are bringing to market.”
John Fultz, Senior Developer, Wolfram Research

So Fultz is talking about "portability" when they port nothing? Unless you are telling false things.
AND WRITING IN ALL CAPS IS LIKE SHOUTING, but you already knew that.

Now, I have not used Mathematica on Windows for some time, but I have no reason to see why it should use QT

I suppose we have all now read the reasons (you know, portability and so on), so this discussion could have been avoided, but...

Reply Score: 2

puelocesar Member since:
2008-10-30

I can understand your concern on desktop, where native widgets are important*. But on mobile, almost no one uses native widgets, and yet, they are very successful.

Another thing to say, is that Android UI development is very "ugly", from my point of view. Lack of good documentation, lack of decent UI guidelines, lack of standard naming on widgets, unnecessary complexity on everything you will do.

Technologies like Qt Quick are a good way to approximate designers and developers, because it's very easy to understand and code even for designers. And when you get more involvement from designers, you usually get better apps (just don't tell this to them, some of they are arrogant enough)

*just on a side note: Qt uses native Cocoa widgets on Mac. If you experienced a bad Qt app on Mac, it's the developers fault, not Qt. VirtualBox is a good example of Qt application that behaves well on Mac

Reply Score: 6

danieldk Member since:
2005-11-18

*just on a side note: Qt uses native Cocoa widgets on Mac. If you experienced a bad Qt app on Mac, it's the developers fault, not Qt.


That's a common misconception: Qt uses the operating system's theme manager to draw its widgets in a native style. But it doesn't use Cocoa widgets on the Mac, rather its own:

http://lists.trolltech.com/qt-interest/2008-04/msg00769.html

Look up the source code of your favorite Qt widget ;) .

Reply Score: 3

woot ! uh, no, wait ..
by Skai on Wed 23rd Feb 2011 16:09 UTC
Skai
Member since:
2010-08-19

"The aim is for all <insert name here> applications once compiled and deployed to one <insert platform name here> platform, will run on any other newer <insert platform name here> platform and will last for years without any recompilation."

I've heard that for fifteen years now, and I'm not yet sooo old.

pleasant dreams, hope many believe in it.

If only it was true with QT from a version to another on a PC for example ...

Edited 2011-02-23 16:10 UTC

Reply Score: 0