The learning curve is much steeper when the tutorials don't work or don't match the tools.
-
1st I apologize to other forum members/guests at this long post. I didn't know any other way to get this to Digia promptly.
I am new to developing for Android. I do not know Java, Javascript or C++. I am a retired EE engineer after 40 years in the computer industry, some of which was in software engineering or management. I started with Fortran in 1971 and I'm also versed in Basic, C, Smalltalk, Lisp, Forth, a smidgin of the VS.NET and Python and then assemblers: Z80, 8080, x86, i860, m56000, TMS320's C6000, AVR's, etc. and VHDL for Xilinx FPGAs and etc.. I'm not bragging I'm just saying I'm not new to these sorts of things and numerous complex development tools.
Now I have built and live in an off-grid home with lots of automation. I use micro-controllers that I program in C and I base them on a small real-time kernel that I wrote. They all have ethernet and talk to my PC's (both Linux & Win) on my LAN. Now I want to mount a 10" tablet running Android on the wall to collect and display much of that distributed data. Little did I know that opening the 'Android development tools' box was like dumping a truckload of manure into a clay pot!
I have been successfully developing with QT4.x for about 2 years using Python (the whole pyQT package from Riverbank) and some add-ons for charting and such (pyxy...). My present code is about 15K lines and runs on all my PC's on my LAN. I used QT Creator do do a massive amount of GUI screens and wrote all the discrete code in Python. Again, I'm not trying to brag I just want to provide some basis before I say whats next and before you judge me.
My first thought was to kick out Android (from the tablet) and shoe-horn some Linux into it. NIX - yeah some people are doing it and some companies are working on that, but it's neither mature nor stable enough for my needs. That spoiled many development tools opportunities.
Next I spent 2 days downloading and installing Oracle's JDK and JFX tools and the Android Deveolper's Kit and the Android Studio tools (not all at once). I spent 5 or 6 hours trying to go through the tutorials. BUT... the tutorials did not match the tools. They were originally written for the Eclipse IDE and were partially/poorly transposed to the AS tools. In other words the instructions and pics./diagrams in the tutorial did NOT match what I was working on. There was nearly the same problem with the JFX tools, but moreover there was very poor documentation about getting started and things of interest to a newbie.
Ok, next! Then I found a small company called ABC (I'll withhold the actual name). And ABC offers a BASIC language for Android. I downloaded a trial and it worked but was lacking a great deal of functionality -- unless you were adept at Java and could write various extensions. But if you knew Java that well then why bother? ABC also offered an alternative IDE for Java and it leveraged the JFX tools and FXML. But their documentation was: 'ask someone on the forum for help'. So, ...another dead end.
Then I looked at another Android tools offering from another company, lets say IJK. And IJK offered a "cards"-based language, also backed by the Oracle tools. It looked interesting, but was a tiny fraction of 1% on the Tiobe index of programming languages, i.e. not mainstream enough for me.So, ...yet another dead end.
Then I was thingking:...'too bad Linux won't work well (for my use) on a tablet'... And I recalled QT working on Android compatibility, after all, there was the Nokia background. So I came back here and downloaded the nearly gigabyte QT5.3 package. I already had all the Oracle packages. I installed QT5.3 and did the setup stuff and tried some examples to make sure everything worked. ... most did, a few didn't, and some depended on whether I ran on a real Android device (my phone) or on an AVD device. Some AVD devices worked, some didn't (like 'Hello World')(even after they eventually came up). I'm not sure why, perhaps screen resolution or services or something. That was last night.
-
It's now 1:30pm and I've spent since 6:00am this morning with this new QT5.3. because I could compile and run the examples and even tinker with some code and get it to run I don't think my installation, setup, config, paths, etc are bad. Just to be sure I didn't mess up anything the Android studio tools still work and my old pyQT4 stuff all still work.
But...
The QT5.3 tutorial (most of them, and there are several) DO NOT MATCH THE TOOLS !!! That I am p.o'd is an understatement! I'm not blaming the tools themselves, but if you want to promote QT then you, Digia, need a way for newbies to get going, at least until they're a good way up the initial learning curve.
I've seen various posts here: http://qt-project.org/forums/viewthread/38673/ http://qt-project.org/forums/viewthread/38594/ etc. and the tutorials at: http://qt-project.org/doc/qt-5/qml-tutorial.html and http://qt-project.org/doc/qt-5/gettingstartedqml.html ,but they don't solve anything. I then thought the best tutorial should be the one deployed right in the tools themselves, i.e. the tutorials under the [Help] function. The one where you make 3 rectangles and then jump the QT logo around between them. IT DOES NOT MATCH THOSE TOOLS !!! It will not compile & run!!! So what, a newbie is supposed to guess...? It's a catch-22. If I were fluent I wouldn't have the problem. But I can't become fluent if I can't get a good way up the initial learning curve.
Now I'm sure that I'm doing 1 or many things wrong. But what? And how can I know? Trial and error guessing is no fun. I'm 101% sure that you experts could look at this and (perhaps chuckle) and go whiz bang thank you maam and set everything straight. But how am I to do that if I can't get off square-1 in the first place. Perhaps you should spend less time answering detailed questions from experts and more time producing High Quality tools for training people in my boat. I'm not knowledgeable enough about QT5.3 for Embedded to know what to ask.
But, I guess you'll kick out this post unless there is a question in it, so:
Is there a tutorial for relatively intelligent people to learn QT5.3 for Android (and iOS, etc.) which is coherent with the tools and examples provided in the present download (5.3) package?I'm going to walk away for a couple of days and if I can't resolve these tools issues in short order then I'm going to give away this brand new 10.1" Android tablet to my niece. Then I'l just build up an rPi or Beagleboard or Cubie or something where I can run Linux or my RT kernel and some decent tools.
BTW: I read your posting rules before writing this and it did not mention the word limit - so after spending all this time writing this I'm using 2 posts. If that's unacceptable then send me an email or kick me out / deregister me!
-
Hi and welcome to devnet,
Interesting post ! There's nothing wrong with longer posts at all. You could have e.g. simply added a reply to your own posts. Anyway, I think that you didn't select the best channel. To contact Digia directly there's the "contact form":http://qt.digia.com/About-Us/Contact-Us/
However, to discuss tooling and example, you should rather post this on the interest mailing list. You'll find there Qt's developers/maintainers (this forum is more user oriented)
-
Hi skyrider, welcome!
Long posts are perfectly acceptable. I've merged your 2 threads, so that readers can follow the conversation properly.
I do agree with you that there is much room for improvement in Qt documentation and tutorials. Nonetheless, believe me when I say that it has improved by leaps and bounds since Qt 5.0, and it will continue to improve into the future. Digia employs a full-time documentation team whose job is to work on issues like what you've described (among others).
If you'd like to reach the Qt engineers directly, this is the Interest mailing list that SGaist mentioned: http://lists.qt-project.org/mailman/listinfo/interest After you subscribe, you can post emails there.
In the meantime, please feel free to ask for help with specific issues you encounter on this forum -- there are many helpful users here.
[quote]Is there a tutorial for relatively intelligent people to learn QT5.3 for Android (and iOS, etc.) which is coherent with the tools and examples provided in the present download (5.3) package?[/quote]The "Creating a Mobile Application":http://qt-project.org/doc/qtcreator-3.1/creator-mobile-app-tutorial.html page, and the links that it contains, is a good place to start. It has its own self-contained example.
Also take time to click through and read the articles under "Qt for Android":http://qt-project.org/doc/qt-5/android-support.html
-
In addition to the mailing list, bugs reports can be filed directly against the documentation. https://bugreports.qt-project.org
The mailing lists are a good resource for discussion and some Q&A. The same is true of the FreeNode IRC #qt* channels. Bugreports and gerrit are better for specific concrete changes.
-
Hello & thanks for the replies above. I appreciate the contact info. Actually, JSKH, the web page in your link IS the one I was going by. This section:
*"Adding Resources
You need to add the Bluebubble.svg image file to the application resources for deployment to mobile devices:
1. In the Projects view, double-click the qml.qrc file to open it in the resource editor. 2. Select Add to add Bluebubble.svg."*__
was a problem. When I double-clicked qml.qrc, then "Add" there was no Bluebubble.png. I used Windows search to find it. There were several different ones. But I didn't know where to put it so I put it in a bunch of folders. I was finally able, by trial and error, to get it to show up in the designated place in the Projects view. I reached the end of the tutorial and did the >RUN and it compiled but both the AVD emulator and my real device just showed a blank screen with no responses. So I just cut and pasted ALL the code from the end of the tutorial in case I had typo'd something. Same result. So,...... I had nowhere to go or noway to proceed (other than in this forum). I would have expected the installation process to uncompress all the needed files into the correct folders so that the tutorial would run as it was written & expected.
I'm sure I'm missing something or doing something wrong --- and that's the minor part of my complaint. The major point is that the closer to the beginning that a newbie is, then the more critical it is that the tutorials work properly. And that, despite all your good wishes, is why I'm stopped dead in my tracks at this time.
Thanks Jeremy_k, I'll forward a bug report to them.
-
Hi skyrider,
Sorry for the late reply.
To help with your minor complaint with that page, see the heading "Creating the Main View". It says,
[quote]To use the Bluebubble.svg used by the Qt Sensors example, Accel Bubble, in your project, you must copy it to the project directory (same subdirectory as the QML file) from the examples directory in the Qt installation directory. For example: C:\Qt\Qt5.2.0\5.2.0\msvc2010\examples\sensors\accelbubble\content. The image appears in the Resources pane. You can also use any other image or a QML type, instead.[/quote]Have you encountered any other tutorials that don't work properly?
-
Yes thanks JKSH, I finally found that and got the app running just fine. I even tinkered with it a bit just exploring some 'what if I do this'...'or that'. Since my previous posting I have watched and worked through a large number of tutorials and videos, about 95% from outside/independent authors. I found the tone of Joseph Mills' first 10 YouTube video tutorials about using QT QML to be much more informative than anything I've found from Digia or QT Project. I watched a few from KDAP but they were interesting and informative but not educational for a newbie.
Clearly, I see many experts and experienced programmers in all aspects of QT both here and elsewhere. I have absolutely no doubt that you guys could answer all of my questions. That's great. And thanks for your willingness! But that is not my complaint! If I buy a Ford or a Toyota or whatever, I expect that if I need service then the most expert people are at a Ford or Toyota dealer. I wouldn't take my F-150 to a Mazda dealer for any major repairs.
Likewise, if I wanted to become a Mercedes mechanic then I'd expect the best training to be at the 'The Mercedes-Benz Automotive Technician Program' at the U of AL. Since they (Mercedes Benz themselves) should be the best people to provide education about their own products. And it bodes well that they have teamed with a major University (real educators). Similarly I would have expected the people at Digia or the QT Project to be the best place for education about those products.
I've been digging around in this issue for about 2 weeks now and the more I dig the more I'm finding out how dismally the people at Digia or the QT Project have failed to provide high quality, coherent, educational materials and processes for the QT lineup from a newbie's point of view.
On the flip side, I've been giving about equal time to the Oracle Java and Android-specific tools. From my point of view, albeit limited, both QT and Java/AndroidStudio/Eclipse/etc. tools, IDE's, processes are similar in terms of getting a newbie educated. If I had to grade them both I'd give the Java chain a C- and the QT chain an F. My experience is that a positive, pleasant and productive initial learning curve is an indoctrination that earns new business. Those satisfied developers will stop searching for alternatives and competitors.
Really and truly either QT (& related) or the Java (& related) tools will do just fine for all of my applications, both desktop and mobile. I've seen the Pros & Cons lists from both sides and when it gets right down to the bottom line, there is little final difference. I can haul stuff just as well in a Chevy pickup or Ford or Dodge pickups. As a newbie I'm not in a position to say 'yeah, but the F-250 has 1/2inch more ground clearance'. At this point I don't care (and don't know enough about these tools to know if I should care). And if/when I become fluent enough to care then I know I can jack up the Chevy just as high or higher than the F-250.
Which brings me back to: where is the EDUCATIONAL materials for a newbie to learn QT? And I refuse to come to the forum every time I have a question. That's very time consuming and I shouldn't have to do that if the people at Digia or the QT Project would provide EDUCATIONAL materials like I would have expected from a supposed professional group of people.