View Full Version : Starting out as N900 Developer
LozBlake
12-24-2009, 07:30 PM
Hey there, i'm looking into developing an app over my christmas leave for the N900. I posted what i'd like to do in this thread along with a few question which might have been best asked here
http://talk.maemo.org/showthread.php?t=38351
The point of this post is i'm finding it difficult as a first time linux and n900 developer to really find any guides to help me in and i found the API documents confusing. I'm a developer by trade, I work with Asp.Net and Java so i couldn't be any futher away from Linux and C, however i have used C and C++ before on university courses, so i have some understanding.
What i'm asking for is whether theres some guides i've missed or general information people could give me as a newbie in linux and maemo as everything seems very confusing for me right now.
I think maybe this is one area which could be improved upon to bring in more maemo developers, as I have a friend who was curious about developing for the N900 and got scared away by the confusion of it, as I might have been had it not be for my love of this device. When compared to developing ease of the iPhone and Andriod, the N900 is not that appealing to some leisure developers.
Thanks, Loz.
pwngu!n
12-24-2009, 07:37 PM
Have you checked out MADD (http://maemoteam.wordpress.com/2009/12/22/a-small-presentpreview-from-the-developer-platform-team/) yet? I got it set up today without any problems. You can start by reading here (http://wiki.maemo.org/MADDE), here (http://wiki.maemo.org/MADDE/Configuration), here (http://wiki.maemo.org/MADDE/Qt_Example) and here (http://wiki.maemo.org/MADDE/Device_runtime). Which will get you a simple app running :)
LozBlake
12-24-2009, 07:50 PM
this is a great start thanks pwngu1n. i'll look into this after christmas day. Being able to develop from windows machines is a great plus for me
jebba
12-24-2009, 09:31 PM
I can offer you space on a box with a /scratchbox installed already, which may help you get the ball rolling. This offer is open to anyone wanting to develop Free Software for Maemo/N900.
Email me at moe@blagblagblag.org.
-Jeff
P.S. I likely won't be able to get things set up until Monday.
If you don't want to write any C/C++ code at all, QML provides you an easier solution: http://labs.trolltech.com/blogs/2009/12/17/qt-declarative-for-maemo-5/
It's quite stable on my device.
LozBlake
12-25-2009, 04:00 AM
I never heard of QML before, whats it like to program?
Cheers for your offer Jeff, forgive my complete ignorance but how would i use this box? Do you remote desktop into it or do i need to upload to it, bare in mind i'm a complete maemo newbie :(
On forum nokia are several intresting tutorials to to get started : I'm starting to and that is my main resource:
http://www.forum.nokia.com/Tools_Docs_and_Code/Documentation/Maemo.xhtml
You can start with the getting started guide:
http://www.forum.nokia.com/info/sw.nokia.com/id/0ea5ec64-2d35-4363-94c0-dd2560c6524b/Get_started_with_Maemo_5.html
Hope this helps you
I never heard of QML before, whats it like to program?
Cheers for your offer Jeff, forgive my complete ignorance but how would i use this box? Do you remote desktop into it or do i need to upload to it, bare in mind i'm a complete maemo newbie :(
QML is similar to Javascript.
There is some example code out here: http://labs.trolltech.com/blogs/2009/05/13/qt-declarative-ui/
jebba
12-28-2009, 03:35 PM
Cheers for your offer Jeff, forgive my complete ignorance but how would i use this box? Do you remote desktop into it or do i need to upload to it, bare in mind i'm a complete maemo newbie :(
This is a box you ssh into. Then you run /scratchbox/login and you're in the scratchbox. If you have no clue about ssh, it's probably not for you though. ;)
mmurfin87
12-28-2009, 05:41 PM
The first thing you should know about Linux/Maemo and Open Source is that there is only one rule: THE DOCUMENTATION SUCKS.
The one exception to this rule is when documentation is non-existent.
The next thing you should know is that everything comes from different places. By this I mean there is a lot of code in Maemo that wasn't written by Nokia. The implication for developers is that you will need to do a lot of searching to find out who wrote what part of what API that you need to access, and where on the internet is the documentation for that.
The whole thing is infuriating so be prepared.
jebba
12-28-2009, 05:44 PM
The documentation rules, it just can be hard to pinpoint your finger on *what* documentation you need as usually there is an overabundance. Even in the most obscure corners of Linux, someone else has done it before it seems. There is very little about which there is *no* documentation (unless some hardware company like nvidia or nokia is being a jerk about it [e.g. battery info]).
mmurfin87
12-28-2009, 05:48 PM
@jebba
You're right. There really is an assload of documentation out there.
The problem is if you can't find what you're looking for, then there might as well not be any documentation to begin with.
Organization of that documentation is just as important as the information itself.
Maemo has piss poor organization.
jackabite
12-28-2009, 06:06 PM
I had the same problems with Documentation until I realised that Nokia has a grand plan. Qt, although still only a tech preview stage it is light years ahead in terms of support material and API consistency.
Shame Maemo 5 didnt ship with this when it launched but I guess we will see a final build soon.
Check it out http://qt.nokia.com/developer
jebba
12-28-2009, 06:25 PM
Lots of videos here:
http://www.youtube.com/user/QtStudios
and docs about QT Creator development tool here:
http://qt.nokia.com/products/developer-tools
That's if you want to do QT development, which is the future of Maemo (QT apps work today too, but will be the foundation with Maemo 6).
-Jeff
Here is where I recommend you start:
http://wiki.maemo.org/PyMaemo
jayford
12-28-2009, 06:42 PM
I've just started working with Maemo and its giving me a headache searching for beginner's information.
This is how I think its best to study, though I haven't gone over all of the material:
1. The first useful guide is the beginner's guide (http://www.forum.nokia.com/info/sw.nokia.com/id/0ea5ec64-2d35-4363-94c0-dd2560c6524b/Get_started_with_Maemo_5.html) that nokia is hosting (45 minutes presentation) that gives you the theory behind Maemo apps.
2. Go to the developer's guide (http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide), Start with "Graphical UI Tutorial" category and start learning about GTK+ (if you're not going to use Qt), I think its more logical to start here because you start with looking at code, and this is the most basic code you need to know.
3. Check out the examples, you can create a new C project with ESBox and use the examples template(you learn about ESBox in #1, I suggest you download the virtual image), then you can see what you've learned in action. Run them all, make sure you understand how they all work.
4. Go over the guidelines (http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Human_Interface_Guidelines) for creating your UI, you have many guidelines and general UI info in the first three categories in the Maemo 5 Developer's Guide, they should give you a general idea for what kind of tools you have for building maemo apps.
5. Go to back to developer's guide and go over everything else, like d-bus and the libs, learn more about what they are and how to use them.
I'm not an expert at all but this looks logical to me. like I was tought C#, first I started with hello world, then I learned about the theory behind. Which way do you think is best to start?
jebba
12-28-2009, 07:10 PM
Seems good, but would definitely go with learning QT, which is usable now and is the future, than learning GTK which will work in the future, but is not the main platform. It's also far easier to learn python than C++, so going with PyMaemo as mentioned above seems to be good advice.
jayford
12-28-2009, 07:13 PM
Seems good, but would definitely go with learning QT, which is usable now and is the future, than learning GTK which will work in the future, but is not the main platform. It's also far easier to learn python than C++, so going with PyMaemo as mentioned above seems to be good advice.
The author of the thread said he has C++ experience.
I didn't understand what you said about GTK+, does it not work now?
jebba
12-28-2009, 08:42 PM
I didn't understand what you said about GTK+, does it not work now?
It works now and will in the future. The *base* of applications in Maemo 5 is GTK+. The *base* in the future (e.g. the applications Nokia writes) will be QT. Also, in the future they will be supporting development with QT far more than GTK+, so might as well start there if you're starting from scratch, i would think.
The first thing you should know about Linux/Maemo and Open Source is that there is only one rule: THE DOCUMENTATION SUCKS.
Having worked in large and small companies as a programmer, I have to ask: How is that any different from commercial projects?
mmurfin87
12-29-2009, 01:05 AM
Having worked in large and small companies as a programmer, I have to ask: How is that any different from commercial projects?
Microsoft is always well documented. Google is too most of the time.
jebba
12-29-2009, 01:33 AM
Microsoft is always well documented.
Uh, can I see the code to their TCP stack (picking out one thing amongst thousands)? No "documentation" is better than the source code itself. Your statement is ridiculous.
-Jeff
mmurfin87
12-29-2009, 01:39 PM
No "documentation" is better than the source code itself.
Sorry, I don't want to offend and I don't want to get into a flame war, but the WHOLE reason other forms of documentation exist is because source code is the WORST form of documentation.
Most of the time its unreadable, and even when it isn't the parts you care about are hidden in with other parts that you don't.
To top it all off, any time you actually NEED to look at the source code itself you probably just want to see the implementation, not decipher how to build off it.
Seems good, but would definitely go with learning QT, which is usable now and is the future, than learning GTK which will work in the future, but is not the main platform. It's also far easier to learn python than C++, so going with PyMaemo as mentioned above seems to be good advice.
One thing that bothers me about PyQt right now is that by if one creates a program with it, users need to enable the extras-devel repository in order to use it. Hopefully this changes soon.
One thing that bothers me about PyQt right now is that by if one creates a program with it, users need to enable the extras-devel repository in order to use it. Hopefully this changes soon.
It's not clear to me if it will or not -- there is also the Pyside project, which is doing almost the same thing as PyQt, but allowing different licensing (as far as I know). It seemed like Pyside, once it is farther along, will be the preferred method for Python+Qt.
Currently, they're both in -devel, so you're stuck either way. :eek:
-jkq
PS. Thus, I started to port my code written for Python/Qt to C++/Qt, and boy, am I missing Python. :)
jebba
12-29-2009, 03:10 PM
Ah yes, pyside is the Nokia project, PyQT is a separate project:
http://www.pyside.org/
Too bad there's two of them, oh well.
Ah yes, pyside is the Nokia project, PyQT is a separate project:
http://www.pyside.org/
Too bad there's two of them, oh well.
The recommended path is to use PyQt for now, unless licensing issues impede you. PySide is keeping API compatibility with PyQt, so once PySide is stable and mature, switching over will be very easy.
DrWilken
12-31-2009, 08:42 AM
Lots of videos here:
http://www.youtube.com/user/QtStudios
and docs about QT Creator development tool here:
http://qt.nokia.com/products/developer-tools
That's if you want to do QT development, which is the future of Maemo (QT apps work today too, but will be the foundation with Maemo 6).
-Jeff
Guess I'll start here too... ;) I have very little knowledge of C and C++ (or Qt), so I might as well start with Qt/C++ since that's my new year resolution (http://talk.maemo.org/showpost.php?p=439439&postcount=19)... :D
So far I've installed QtCreator and MADDE and tried the qthello "prog"... ;)
EDIT -> I think I'll be going for the whole QT SDK instead -> http://qt.nokia.com/downloads... ;)
BTW -> I use Linux only (home/work)... ;) Ubuntu for my desktop+laptop, Gentoo for my private server.
dwould
12-31-2009, 09:34 AM
Having done some development for maemo now I would have to echo some of the comments here that it is very hard to do useful things.
By which I mean there is plenty of doc that get you as far as hello world. But that's about it.
For Witter I've had to write a customer cell renderer to make things look 'nice' trying to get any information on how to do that was a nightmare.
Also there is no focus on development tooling. as a professional software engineer, I expect to be able to code and develop in a good IDE which helps me.
I've never tried developing for apple, but given the number of apps I'm guessing they make it a whole lot easier to do than Nokia is making it for the N900.
I started using esbox, which is pretty good...but I couldn't get svn to integrate, so to use garage I found myself having to leave esbox to use less useful tools.
the api documentation does suck. I've found myself looking at the doc for certain hildon types asking 'what does this actually DO' no pictures, no description of what it's for, just the contructor and some method names.
Personally I'm trying to help by writing blog posts as I figure stuff out, in the hopes that maybe I'll make life easier for the next person.
One interesting sign. These days I find that a good portion of my google searches for stuff I'm trying to figure out, gets hits on my blog where I've mentioned that I want to figure it out ;-(
writing core logic is normally fine. writing a GUI that is anything like 'nice' or even fitting with hildon standards is a nightmare.
People say 'hildonise' this and that without any sensible doc to show how.
And some of the hildonising process is needlessly expensive. I'm thinking specifically of hildon.appMenu which is, in fact, not a menu. And cannot be used with menuitems. Which means you have to re-write menu code to create buttons instead. And if you wanted to have any hope of keeping diablo code base in step, you just got another big wadge of different code.
Particularly when it comes to trying to make an app look'n'feel like existing apps it would be nice if there was more documentation of using icons etc. or maybe the documentation just need to be put in a more consumable form.
EDIT: and whilst I think about it, the whole process of submitting things to be built can be quite frustrating. there are parts of the process with zero feedback as to what it's doing or whether your submission has even worked. frequently I've submitted to the auto builder, then had an hour or so without it appearing anywhere I can see, eg not on the builder queue even. You just have to learn to wait a couple of hours and assume it's going to show up at some point.
Then when it does show up, it only makes it ot rhe repository after it's built the 386 version, and I can only assume that's a much slower machine because it takes ages longer to do that build than it takes to do the armel build. Even though for python there is no 'build' I've frequently waited hours more for the 386 build to happen before my package appeared in extras-devel
attila77
01-06-2010, 02:56 PM
One thing that bothers me about PyQt right now is that by if one creates a program with it, users need to enable the extras-devel repository in order to use it. Hopefully this changes soon.
Just to follow up on this - it has actually very little to do with PyQt itself, it's in -devel because the Nokia packages it depends on are not optified. Thus, a PyQt application in Extras would mean an avalanche of several dozen non-optified megabytes in dependecies for the user. PySide, in it's current iteration being less compact than PyQt, suffers from this problem even more heavily. We're basically waiting for PR1.1 to resolve this problem. If it does, I'm pushing PyQt in Extras(-testing) the very next day.
revamped
01-06-2010, 11:28 PM
Uh, can I see the code to their TCP stack (picking out one thing amongst thousands)? No "documentation" is better than the source code itself. Your statement is ridiculous.
-Jeff
LOL, different worlds colliding, so don't belittle other people. I worked developing on Playstations, GameCube/Wii, Windows and Windows Mobile for quite a while, and the documentation on all these platforms is always pretty good... it is easy to find without having to do a web search and search through hundreds of faqs and how-to guides written by developers not associated with Nokia.
But i know Linux and open-source is a different world, I'm going to try to get used to it. It is hard to find out exactly where to start when you are used to opening the IDE and hitting F1 for the documentation.
cpscotti
01-06-2010, 11:41 PM
The first thing you should know about Linux/Maemo and Open Source is that there is only one rule: THE DOCUMENTATION SUCKS.
The one exception to this rule is when documentation is non-existent.
The next thing you should know is that everything comes from different places. By this I mean there is a lot of code in Maemo that wasn't written by Nokia. The implication for developers is that you will need to do a lot of searching to find out who wrote what part of what API that you need to access, and where on the internet is the documentation for that.
The whole thing is infuriating so be prepared.
Best documentation is and will always be the source code itself (it's precise as hell!). Overcome your fear and download some sources!
:D
@dwould
thanks for the input. I don't belong to Maemo team (research group is where I belong) but we have pointed out the issues quiet often (especially documentation).
Maemo documentation almost depends on wiki however it lacks of man power to make it organized. Especially outdated document and deprecated APIs are spread everywhere. I have collected some people's opinions and reported.
Personally I would recommend to use Qt as starting point because it ships with hildonized Qt4.5 and Qt4.6 is already in extras-devel. You could do almost everything via Qt (and this is what I have been doing and found most easier to use). Another reason to encourage you to follow the path of Qt is to keep your program compatible with upcoming Maemo 6. However, Maemo is so freedom that you have so many option to choose (both good and bad).
And one thing makes Maemo different is the community. If everyone could keep participate in wiki or application testing or development or simply contribute your opinions, everyone will be benefited.
Regards
krk969
01-07-2010, 02:16 AM
@dwould
.....
Personally I would recommend to use Qt as starting point because it ships with hildonized Qt4.5 and Qt4.6 is already in extras-devel. You could do almost everything via Qt (and this is what I have been doing and found most easier to use). .....
Regards
QT being hildonized.
Is there any documentation available regarding this ? I mean if any new QT classes and interfaces have been defined as part of this.
Or is it the already available official QT4.5 documentations ?
I havent seen anything there yet talking about hildon or maybe Im a bad "searcher" :confused:
Ive even been trying to make QT desktop widget into a hildon desktop widget so I could add it as a widget in N900, but again found vaccum , no/limited information at all, except gtk desktop widgets.
I was hoping that is also part of hildonization or maybe Im wrong about this one.
cheers
Sasler
01-07-2010, 02:57 AM
Having done some development for maemo now I would have to echo some of the comments here that it is very hard to do useful things.
By which I mean there is plenty of doc that get you as far as hello world. But that's about it.
the api documentation does suck. I've found myself looking at the doc for certain hildon types asking 'what does this actually DO' no pictures, no description of what it's for, just the contructor and some method names.
I agree. I'm trying to use Qt/C++ and up to Hello World, things look very promising when it comes to documentation. But after that, it becomes really tricky. It seems that in the Qt documentation is based on the assumption that after you have mastered the Hello World, you have suddenly become a professional programmer who can figure everything out just by looking at the constructor. After all, simple examples on how to use the different classes are only meant for sissies! :rolleyes:
Unfortunately, I seem to be one of these "sissies". :p I've never used any other framework than .NET. And coming form that world, I really do miss the plethora of simple code examples on how to do different things. That is. other than just the Hello World. ;)
To make the matters worse for me, I chose to start using C++ which is a bad move, since all the documentation it is assumed that everyone who uses C++ has already done so for at least several centuries if not for millenniums. Before starting to develop for Maeomo, Visual Basic (yes, I already told that I am a "sissy" :D) was more than enough for my needs. Since I had to learn a new language anyway, I thought I learn a good one which is useful on many platforms.
But I fear things are going to become only worse for me, because of Nokia Web Runtime (http://talk.maemo.org/showthread.php?t=38214) and QML (http://talk.maemo.org/showthread.php?t=35194). I'm afraid that Nokia will assume that beginners want to use these and Qt with C++ is only for professional programmers and the documentation would be according this.
Still, I'm not going to give up. I'm going to try to learn Qt/C++ despite of Nokia! :p
Also there is no focus on development tooling. as a professional software engineer, I expect to be able to code and develop in a good IDE which helps me.
I've never tried developing for apple, but given the number of apps I'm guessing they make it a whole lot easier to do than Nokia is making it for the N900.
I'm using Qt Creator and MADDE (on Windows 7) and I'm pretty satisfied on them, considering that MADDE is only a technology preview and is not yet integrated to Qt Creator. :) However, what I really would like to see, is the ability to make a Debian package that conforms to all the Maemo guidelines straight from Qt Creator by just clicking a button. ;)
danielwilms
01-07-2010, 03:17 AM
QT being hildonized.
Is there any documentation available regarding this ? I mean if any new QT classes and interfaces have been defined as part of this.
You find some information about Qt for Fremantle in the wiki here (http://wiki.maemo.org/Qt) and here (http://wiki.maemo.org/Qt4Hildon). But in general you can use mostly plain Qt and it will run on the N900, keeping the restrictions of the device like screensize etc. in mind. Being hildonized in Qt means that everything is styled correctly if you compile it for the device.
Basically you can rely on the normal Qt documentation (http://doc.trolltech.com/4.5/index.html) and the changes and restrictions you will find on the wiki pages I've mentioned before.
Ive even been trying to make QT desktop widget into a hildon desktop widget so I could add it as a widget in N900, but again found vaccum , no/limited information at all, except gtk desktop widgets.
I was hoping that is also part of hildonization or maybe Im wrong about this one.
The widgets are a special case. It is a bit tricky to run it as a widget needs a .so library or a shell script to run. You will find an example in extras-devel called qt-example-hildondesktopwidget (http://repository.maemo.org/extras-devel/pool/fremantle/free/q/qt-example-hildondesktopwidget/). The problem is, that you can only start it from the task launcher and not from the Desktop menu. Ideas how to change that you can find in this talk-thread (http://talk.maemo.org/showpost.php?p=450624&postcount=2).
Daniel
krk969
01-07-2010, 03:55 AM
You find some information about Qt for Fremantle in the wiki here (http://wiki.maemo.org/Qt) and here (http://wiki.maemo.org/Qt4Hildon). But in general you can use mostly plain Qt and it will run on the N900, keeping the restrictions of the device like screensize etc. in mind. Being hildonized in Qt means that everything is styled correctly if you compile it for the device.
Basically you can rely on the normal Qt documentation (http://doc.trolltech.com/4.5/index.html) and the changes and restrictions you will find on the wiki pages I've mentioned before.
Thanks Daniel.
But Ive already seen the abve links, doesnt say much does it to just start thinking you can hildonize your apps.
But yes what helps is you mentioned "Being hildonized in Qt means that everything is styled correctly if you compile it for the device. ". Didnt know this when i started out, I always thought there were different classes and apis defined for this purpose.
Im glad somebody said that so I can simply create QT apps now based on the official QT4.5 docs and follwing instructions in the wiki's/
The widgets are a special case. It is a bit tricky to run it as a widget needs a .so library or a shell script to run. You will find an example in extras-devel called qt-example-hildondesktopwidget (http://repository.maemo.org/extras-devel/pool/fremantle/free/q/qt-example-hildondesktopwidget/). The problem is, that you can only start it from the task launcher and not from the Desktop menu. Ideas how to change that you can find in this talk-thread (http://talk.maemo.org/showpost.php?p=450624&postcount=2).
Daniel
Ive already seen that example and my widget behaves exactly the same way, cant add it as a widget through menu have to start it as an app, though it appears on the desktop as a widget.
And the thread link you directed me to for ideas is my post :rolleyes:
cheers.
danielwilms
01-07-2010, 08:32 AM
Thanks Daniel.
But Ive already seen the abve links, doesnt say much does it to just start thinking you can hildonize your apps.
But yes what helps is you mentioned "Being hildonized in Qt means that everything is styled correctly if you compile it for the device. ". Didnt know this when i started out, I always thought there were different classes and apis defined for this purpose.
Im glad somebody said that so I can simply create QT apps now based on the official QT4.5 docs and follwing instructions in the wiki's
There are some extra libraries (http://wiki.maemo.org/Maemo_Qt_Extra_Libraries) to add some additional functionality to the standard Qt classes for Maemo5. But for the rest use plain Qt and the few exceptions described on the wiki page.
And the thread link you directed me to for ideas is my post
sorry for that, these were the same ideas I got from another Qt developer and I didn't check good enough who wrote it here ;) I will try it out by myself soon and let you know if I succeed.
Cheers Daniel
If you guys have questions regarding Qt4 on Maemo, here is the mailing list I encourage everyone to subscribe: https://garage.maemo.org/mailman/listinfo/qt4-devel
These troll people are very passionate. Feel free to ask.
VDVsx
01-07-2010, 10:14 AM
There are some extra libraries (http://wiki.maemo.org/Maemo_Qt_Extra_Libraries) to add some additional functionality to the standard Qt classes for Maemo5. But for the rest use plain Qt and the few exceptions described on the wiki page.
AFAIK, these libs are deprecated/legacy in Qt4.6, since the build ships similar ones by default, please correct me if I'm wrong.
VDVsx
01-07-2010, 10:19 AM
Here is some code examples using Maemo5 specific stuff: http://qt.gitorious.org/+qt-developers/qt/x11-maemo/trees/4.6-fremantle/examples/maemo5
More generic examples here: http://qt.gitorious.org/+qt-developers/qt/x11-maemo/trees/4.6-fremantle/examples
me2000
01-07-2010, 10:20 AM
This is where I would start.
"PluThon (Eclipse based)
PluThon is a full Python IDE for Maemo, based on Eclipse. While PluThon is easy to use and provides a complete solution, it is not necessary for basic Python development for Maemo. If you already use Eclipse for your development, PluThon might be your best option."
http://wiki.maemo.org/PyMaemo/QuickStartGuide
Eclipse rocks. Python rocks. Using both for Maemo device development sounds pretty sweet to me.
jebba
01-07-2010, 08:50 PM
I've never used any other framework than .NET. And coming form that world, I really do miss the plethora of simple code examples on how to do different things. That is. other than just the Hello World. ;)
Just download the source code to a project similar to what you are doing and cut & paste. :)
Sasler
01-08-2010, 01:25 AM
Just download the source code to a project similar to what you are doing and cut & paste. :)
Now if only those source codes would have some good commentary, which would explain what it is actually doing and how. ;)
Fargus
01-08-2010, 01:39 AM
...
PS. Thus, I started to port my code written for Python/Qt to C++/Qt, and boy, am I missing Python. :)
...
But the result will be faster and smaller :)
Fargus
01-08-2010, 01:41 AM
Microsoft is always well documented. Google is too most of the time.
The quality of the MS documentation has been the source of jokes for years in the professional community though it is a lot better than it has been in the past. Be nice to see Maemo catch up but who will do the work?
Fargus
01-08-2010, 01:53 AM
...
Unfortunately, I seem to be one of these "sissies". :p I've never used any other framework than .NET. And coming form that world, I really do miss the plethora of simple code examples on how to do different things. That is. other than just the Hello World. ;)
To make the matters worse for me, I chose to start using C++ which is a bad move, since all the documentation it is assumed that everyone who uses C++ has already done so for at least several centuries if not for millenniums. Before starting to develop for Maeomo, Visual Basic (yes, I already told that I am a "sissy" :D) was more than enough for my needs. Since I had to learn a new language anyway, I thought I learn a good one which is useful on many platforms.
...
If you are used to .NET then try playing with C# first so the object model is familiar. The syntax is close to C++ though arrays are not implimented properly in C#.
jebba
01-08-2010, 07:21 AM
Now if only those source codes would have some good commentary, which would explain what it is actually doing and how. ;)
Some do, some don't, it's true. You can always email the authors directly and request they document. If it's something you really want to know about.
Have fun.
dwould
01-08-2010, 07:47 AM
It seems like the best development environment is qt creator+madde, but that's c++ only?
esbox with pluthon is pretty good for python, but I cannot for the life of me get it to play with SVN which is what garage uses. So its a pain to use with svn
the suggestion of using qt with python seems to be dependent on waiting for some fix arriving at some point that would actually allow you to get the app out of extra-devel. But if you want to write a python app that people can actually use *now* then you have to stick with GTK?
Are there any guides on how you'd convert from gtk to qt?
I've been using gtkBuilder, is there some QT equivalent? or do I have to go back to coding everything integrated?
I am hoping to get back to working on witter, and I'm trying to decide if I should seriously consider switching to QT.
Bratag
01-08-2010, 10:53 AM
I would like to know what the status is on getting the Qt 4.6 libs into the repos. Telling people to develop in Qt is all well and good but if we really are "going with the future of Maemo" then we need to be coding against 4.6.
krk969
01-08-2010, 11:03 AM
I would like to know what the status is on getting the Qt 4.6 libs into the repos. Telling people to develop in Qt is all well and good but if we really are "going with the future of Maemo" then we need to be coding against 4.6.
libqt4-maemo-dev and likewise are all qt4.6 :)
http://maemo.org/packages/view/libqt4-maemo5-dev/
Sasler
01-08-2010, 11:08 AM
The quality of the MS documentation has been the source of jokes for years in the professional community though it is a lot better than it has been in the past. Be nice to see Maemo catch up but who will do the work?
I have this funny feeling that Maemo and Qt have something to do with Nokia... It's just a hunch. :rolleyes: But if this turns out to be the case, one would think it would serve Nokia's best interests if there were good documentation available for developing in Qt. In fact, let me be so presumptuous as to suggest that Nokia should actually hire some capable people to write these much needed documents. Yes, for real money! :D
However, let us be honest here. The situation with documentation is not at all that hopeless. For instance, I'm rather fond of this E-learning thing (http://www.forum.nokia.com/document/Get_started_with_Maemo_5/). It's simple, well presented and, on top of that, there is a really nice and soothing female voice. :D Of course, one doesn't learn anything useful here, but the voice is nice. :p
Bratag
01-08-2010, 11:20 AM
libqt4-maemo-dev and likewise are all qt4.6 :)
http://maemo.org/packages/view/libqt4-maemo5-dev/
Danke - I didnt realise they were out there already. Might find 10 minutes today to try write a few simple Qt apps and see how they play without being hildonised.
krk969
01-08-2010, 11:29 AM
Danke - I didnt realise they were out there already. Might find 10 minutes today to try write a few simple Qt apps and see how they play without being hildonised.
AFAIK
I understand that QT apps will run on your N900 like normal apps. You dont need to do anything specific for maemo.
Except for hildonizing you can refer to some new stuff coming out
http://wiki.maemo.org/Maemo_Qt_Extra_Libraries
rdnetto
01-09-2010, 07:30 PM
I have this funny feeling that Maemo and Qt have something to do with Nokia... It's just a hunch. :rolleyes: But if this turns out to be the case, one would think it would serve Nokia's best interests if there were good documentation available for developing in Qt. In fact, let me be so presumptuous as to suggest that Nokia should actually hire some capable people to write these much needed documents. Yes, for real money! :D
However, let us be honest here. The situation with documentation is not at all that hopeless. For instance, I'm rather fond of this E-learning thing (http://www.forum.nokia.com/document/Get_started_with_Maemo_5/). It's simple, well presented and, on top of that, there is a really nice and soothing female voice. :D Of course, one doesn't learn anything useful here, but the voice is nice. :p
You mean something like this: http://doc.trolltech.com/4.6/index.html ? It seems to have examples for the most common uses of each class as well as a fairly comprehensive reference. Downside is that it appears to assume a knowledge of the basics, but it's still pretty useful.
ravioli156
01-09-2010, 08:07 PM
And you can replace 4.6 with 4.5 because if I remember well the QT implementation in maemo is 4.5
Sasler
01-09-2010, 08:36 PM
You mean something like this: http://doc.trolltech.com/4.6/index.html ? It seems to have examples for the most common uses of each class as well as a fairly comprehensive reference. Downside is that it appears to assume a knowledge of the basics, but it's still pretty useful.
Check this post (http://talk.maemo.org/showpost.php?p=456863&postcount=35). :) Yes, I'm using those documents quite frequently. They are the same as the QT Creators help files. I just often find it hard to understand from them how to use those classes I need. But hey, maybe it's just me. ;)
VDVsx
01-09-2010, 09:22 PM
And you can replace 4.6 with 4.5 because if I remember well the QT implementation in maemo is 4.5
Maemo has both Qt 4.5 and 4.6, and you can use both, even in the same device in parallel ;)
I personally recommend Qt 4.6 if you're starting, since is much more complete in terms of Maemo5 support.
you can have QML as your UI overlay and your backend as C/C++ code (to store / pass data to QML, especially you want to write some 3D games without bending your head on GUI.
currently there is an issue regarding to pixelmap. however, I didn't see other problems.
vBulletin® v3.8.2, Copyright ©2000-2012, Jelsoft Enterprises Ltd.