[Qt-creator] Kit-Device relation

Ziller Eike Eike.Ziller at digia.com
Thu Nov 15 16:10:02 CET 2012

On 15 Nov 2012, at 12:40, Tobias Hunger <tobias.hunger at digia.com> wrote:

> Hi Orgad!
> Sorry for the delay in replying, I was busy with DevDays (great event by 
> the way;).
> On 12.11.2012 10:17, Orgad Shaneh wrote:
>> IMHO kits should only have device type. The device should be taken out
>> of kit configuration, and be re-added in run configuration and in
>> debugger dialogs (filtering devices by the kit's device type).
> I see several use-cases here:
> * Completely different devices (e.g. a android device and a Nokia N9):
>   I think kits work well for this (as did the targets we had before).
> * Similar devices with different settings (e.g. generic Linux
>   device running ubuntu/x86 and one running ubuntu/arm)
>   I think kits handle that well, too.
> * Similar devices with different characteristics (e.g. some OS running
>   on a phone and a tablet, maybe even two identical pieces of hardware
>   running different versions of the firmware)
>   I think having different kits for each of these makes sense here since
>   it makes it very easy to switch between phone and tablet.
>   You can avoid some rebuilding by having the build  configurations of
>   the different kits share the build directory, which admittedly
>   requires a bit of configuration to be done once.

In that case the build configurations are then actually disjoint, i.e. there is a big chance that they will diverge.
So I think for the usecase "I want to build some software for a certain platform, and want to test & run on multiple devices (specific OS/firmware versions, different form factors)" it is not very well suited, and changing the device in the kit would be better suited to solve that problem.

> * Identical devices (e.g. two phones of same model/firmware,
>   a pool of test servers)
>   There you can use one kit and switch the device used in its
>   configuration. I agree that we should provide a fast way to do this.
>   Currently this is a bit unwieldy.

Yes. Going to the preference dialog for this is neither "expected" nor "easy".

The other problem I see is that one needs to understand the concept of kits pretty well to find out what options you have, and what way is the best for your usecase.
The current setup / UI doesn't give an obvious answer to the question "I want to run what I built on a different device of the same kind", and I think we need to solve that.
If that means pulling the device out of the Kit and putting it somewhere else (where?), or if that means making it easier and more obvious to switch the device in a kit, I'm not sure.
At least the device also feels different to me to the other settings in a kit, because, at least in the case of "device with a specific IP / name" it is bound to change while the rest of the kit settings usually do not change around it. (For zeroconf style device detection that would be a non-issue, there the "device" wouldn't change because it just refers to whatever specific device that is currently plugged in.)

> There are still some rough spots in the kits, I readily admit that. We 
> will continue to polish it, but I am so far rather happy with how it 
> turned out so far.
> Do you see additional use cases that I missed?
> Best Regards,
> Tobias
> -- 
> Tobias Hunger, Senior Software Engineer - Digia, Qt
> Digia Germany GmbH, Rudower Chaussee 13, D-12489 Berlin
> Geschäftsführer: Mika Pälsi, Juha Varelius, Anja Wasenius
> Sitz der Gesellschaft: Berlin. USt-IdNr: DE xxx xxx xxx
> Registergericht: Amtsgericht Charlottenburg, HRB 144331 B
> _______________________________________________
> Qt-creator mailing list
> Qt-creator at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/qt-creator

Eike Ziller, Senior Software Engineer - Digia, Qt
Digia Germany GmbH, Rudower Chaussee 13, D-12489 Berlin
Geschäftsführer: Mika Pälsi, Juha Varelius, Anja Wasenius
Sitz der Gesellschaft: Berlin, Registergericht: Amtsgericht Charlottenburg, HRB 144331 B

More information about the Qt-creator mailing list