Active Topics

 


Reply
Thread Tools
eitama's Avatar
Posts: 702 | Thanked: 334 times | Joined on Feb 2010 @ Israel.
#1
So, As I am a student, learning C and C++, I decided i'd like to use C++/Qt and develop some apps for the N900.

This Post is about how hard it is to start programming C++/Qt for N900 - And even if similar posts have been posted before, i'll do it again - cause I can't find the information I am looking for, in a reasonable manner.

Prior my collage studies I have had plenty of :
TCL / Perl / Python programming.
C# / Java Programming.
ASP / PHP.

I know how to use Eclipse, Visual Studio.

I know how to use VIM, VNC, SSH, Putty.

I already know how to write classes, inheritance and polymorphism in c++.

And still, I have absolutely no idea how to start and program for the N900.

Steps Iv'e done to get the show started :
- Install Virtual Box
- Install ubuntu, try to install scratchbox, failed miserably with plenty of errors. Gave up.
- Install QtDesigner + QtCreator... Found out I can't make desktop widgets with Python and Qt. Gave up.
- Decided again to go for C++/Qt.
- Found out there is a VMware / VirtualBox image with everything ready on it!!!! Wooohooo.
- Downloaded the 1.6G Beast, configured virtualbox, got ubuntu up and running. Updated all updates, installed Guest Additions.
- Started Esbox, now what? looked for documents on how to get my Phone connected to the whole dev env, found a 102 pages document on pc-connectivity!! are you kidding me? I mean, 102 pages???????? OMG.
- 102 pages I could have learned another programming language by that time.

- Current status, frustrated, depressed, sad.
Looked into madde, it's not exactly what I want, since I don't understand how to add widgets, application menu icon, etc etc.

Programming for N900 is a jungle. and someone needs to cut the trees down, and put some pavement - cause I aint gonna wonder the jungle anymore. I got stung bad enough.

If anyone here wants to elaborate, with easy to understand steps on the following topics, to help me get started, I'd be greatfull :
1. How do I connect my n900 via usb to the esbox.
2. How do I take care of all the dependencies thingy?
How do I know what dependencies I actually have?
3. How do I compile, and copy to required files to my n900, add the application the the applications menu and run it?
4. How do I write desktop widgets for the n900?
5. How do I add my application to the extras repository?

If I get all the required information, And I manage to get anywhere into this whole thing, I promise, 100% that i'll write a proper WORD document or wiki page, or even both - with vids pics and text that would explain step by step everything. cause right now - there are no proper guides or tutorials.

Eitam.
 

The Following 5 Users Say Thank You to eitama For This Useful Post:
Texrat's Avatar
Posts: 11,700 | Thanked: 10,045 times | Joined on Jun 2006 @ North Texas, USA
#2
Originally Posted by eitama View Post
right now - there are no proper guides or tutorials.
Not true. Plenty of useful info under the Development section. Two examples:

http://talk.maemo.org/showthread.php?t=45978

http://talk.maemo.org/showthread.php?t=43663
__________________
Nokia Developer Champion
Different <> Wrong | Listen - Judgment = Progress | People + Trust = Success
My personal site: http://texrat.net
 

The Following User Says Thank You to Texrat For This Useful Post:
eitama's Avatar
Posts: 702 | Thanked: 334 times | Joined on Feb 2010 @ Israel.
#3
Originally Posted by Texrat View Post
Not true. Plenty of useful info under the Development section. Two examples:

http://talk.maemo.org/showthread.php?t=45978

http://talk.maemo.org/showthread.php?t=43663
Iv'e seen those before, They only touch Python & Madde.
They don't discuss uploading to repositories, dependencies, desktop widgets, Installing apps you write on you phone, how to compile C++ apps etc etc etc.

+ It's rifling though threads again, When you are overwhelmed like I am now, you don't want to rifle through threads. I want a well written doc, or wiki.
I am willing to write one, but I first need to understand what the hell is going on. And I am failing.

I have written very nice apps in c# and Tk, people are using my apps. Why am I finding it so hard to start with maemo development?

Hell I have even wrote symbian apps for my N95!!!!!

Edit : BTW, thx for trying to help.
Believe me I appreciate it, But I didn't start my n900 experience today, iv'e been at it for 2 weeks now. Still in the same spot.
 
JohnLF's Avatar
Posts: 551 | Thanked: 507 times | Joined on Feb 2010 @ North West England
#4
I have to say I agree with this. Trying to relearn programming after a long gap (20+ years) and it is a real uphill struggle trying to know where to start.

I have ubuntu with scratchbox SDK installed. I have compiled an app on it I want to port to Maemo. The app runs in the SDK window, but being PC based, I need to press Fn-keys to configure it so it doesn't get past the initial screen. I don't know if it is because of that or a more serious error yet.
How to port this? I know I've seen a page in the past which gives a very crude example of this, "hildonizing" menus etc, but can I find it now I need it? Not a chance. Been looking for weeks at example after example but nothing with a useful "where to start" guide - and I'm not including "hello world" as useful!

Then there's python. I'm sure this is something I could get to grips with, but are there any examples out there specific to the N900?

I don't consider myself stupid, I've been hacking around with Linux since Slackware'96, I can recompile kernels, and I'm very at home with a CLI. I even use VIM as my preferred editor! My problem is that all my programing is business based, so databases, accounts etc. but I think with a few good examples and some API references, I may be able to have a go at this. I have some ideas for some very nice apps!

More developers on board means more apps for all of us!
 

The Following 2 Users Say Thank You to JohnLF For This Useful Post:
eitama's Avatar
Posts: 702 | Thanked: 334 times | Joined on Feb 2010 @ Israel.
#5
Originally Posted by JohnLF View Post
I have to say I agree with this. Trying to relearn programming after a long gap (20+ years) and it is a real uphill struggle trying to know where to start.

I have ubuntu with scratchbox SDK installed. I have compiled an app on it I want to port to Maemo. The app runs in the SDK window, but being PC based, I need to press Fn-keys to configure it so it doesn't get past the initial screen. I don't know if it is because of that or a more serious error yet.
How to port this? I know I've seen a page in the past which gives a very crude example of this, "hildonizing" menus etc, but can I find it now I need it? Not a chance. Been looking for weeks at example after example but nothing with a useful "where to start" guide - and I'm not including "hello world" as useful!

Then there's python. I'm sure this is something I could get to grips with, but are there any examples out there specific to the N900?

I don't consider myself stupid, I've been hacking around with Linux since Slackware'96, I can recompile kernels, and I'm very at home with a CLI. I even use VIM as my preferred editor! My problem is that all my programing is business based, so databases, accounts etc. but I think with a few good examples and some API references, I may be able to have a go at this. I have some ideas for some very nice apps!

More developers on board means more apps for all of us!
Just wanted to say, not sure "Hildonizing" is even needed anymore, now that we are moving hard into Qt.
But I don't know if that is from Qt 4.5 or 4.6.2 or 4.7?
Or Maybe just from PR1.2 ?

./Sigh.
 
w00t's Avatar
Posts: 1,055 | Thanked: 4,107 times | Joined on Oct 2009 @ Norway
#6
Originally Posted by eitama View Post
They don't discuss uploading to repositories, dependencies
Packaging is a whole seperate ballgame, and not one I'm familiar with, so I'll leave that to the experts.

Originally Posted by eitama View Post
desktop widgets, Installing apps you write on you phone, how to compile C++ apps etc etc etc.
If you want information on how to do desktop widgets, see the (short) blog and code linked from it over at http://labs.trolltech.com/blogs/2010...creen-widgets/

A quick note here that I think it *should* be perfectly possible to create desktop widgets with Python. I haven't tried this myself in my Qt tutorials series (http://blog.rburchell.com), but I may do so in the future when I get time.

For installing, again, this (mostly) relates to packaging, so I won't go too much into it as it isn't my field, however, using MADDE (which you mention, so I assume you've read some stuff about it), you can compile (and create packages, again, not my field though) stuff for your device.

MADDE is probably the easiest way to head with that. For my own part, I use MADDE to compile, then 'scp' (standard utility, not specific to Maemo, so should be easy to read up on) to copy the binary over to my n900 for testing.

MADDE is also becoming increasingly integrated with the rest of the Qt toolchain, so it's only going to get simpler with time: see http://wiki.maemo.org/MADDE/QtCreato...on_for_windows

Originally Posted by eitama View Post
+ It's rifling though threads again, When you are overwhelmed like I am now, you don't want to rifle through threads. I want a well written doc, or wiki.
I am willing to write one, but I first need to understand what the hell is going on. And I am failing.
I understand your frustrations, and while I can't really do more than I am doing here, please understand that it isn't through any inferiority of the technology that it is a little hard to scrouge information up. Maemo in terms of Qt, Creator, MADDE, and all the other pieces are still coming together, but they are doing so increasingly rapidly.

Keep asking questions, keep writing, keep soldiering on, and I and others will do our best to help.
__________________
i'm a Qt expert and former Jolla sailor (forever sailing, in spirit).
if you like, read more about me.
if you find me entertaining, or useful, thank me. if you don't, then tell me why.
 

The Following 6 Users Say Thank You to w00t For This Useful Post:
w00t's Avatar
Posts: 1,055 | Thanked: 4,107 times | Joined on Oct 2009 @ Norway
#7
Originally Posted by eitama View Post
Just wanted to say, not sure "Hildonizing" is even needed anymore, now that we are moving hard into Qt.
But I don't know if that is from Qt 4.5 or 4.6.2 or 4.7?
Or Maybe just from PR1.2 ?

./Sigh.
Hildonisation of UIs is indeed not required, with either 4.5 or 4.6.

Qt 4.6 is the better choice, and is planned to be deployed with the PR 1.2 update, but in terms of API, it doesn't offer much that 4.5 doesn't - it just does it in a better way (kinetic scrolling etc).

Don't bother with 4.7 for now. It's still in early stages, and won't be released final for a while yet. The primary thing it offers that 4.6 down don't is QML, which will be very useful for compelling UI design - but that won't be "easy" for quite some time after release, as tool support (e.g. in Creator) will likely lag behind it.
__________________
i'm a Qt expert and former Jolla sailor (forever sailing, in spirit).
if you like, read more about me.
if you find me entertaining, or useful, thank me. if you don't, then tell me why.
 

The Following 3 Users Say Thank You to w00t For This Useful Post:
Posts: 24 | Thanked: 12 times | Joined on Mar 2010
#8
I'm also just starting to try writing programs for the N900, personally I have managed to get simple things working on the device with Qt and MADDE through following the MADDE/QtCreator integration tutorial and following the example program at the end of the Nokia Getting started with Maemo 5 introduction.

I can run programs I write on the device but only through the Qt interface, I am still trying to work out the next bit of getting programs loaded to the device etc.

I would agree that trying to get started in this development is a jungle, there is definately a lot of information out there but it is spread across a wide range of tools, methods and platforms and takes a massive amount of researching to get anywhere. Not that I don't expect to do some amount of reading and learning to get started but its taken days of digging and installing / uninstalling various bits of downloaded software just to get to managing a "Hello World" app...

All of the information out there is very useful and I'm sure will be necessary as I get further into developing but I can see how it can put people off at the start, beginners just need a single step by step spoon fed example document that takes you from nothing to having a simple working app installed on the device!
 

The Following 2 Users Say Thank You to postformac For This Useful Post:
w00t's Avatar
Posts: 1,055 | Thanked: 4,107 times | Joined on Oct 2009 @ Norway
#9
Originally Posted by JohnLF View Post
<snip>
I'm going to go out on a limb and *recommend* (this is not for everyone, just my personal opinion here - feel free to disregard liberally) that you look into Qt, Qt Creator, and MADDE if you want to go the native code route. It's a lot more fluid (at least for me) than messing with Hildon stuff, and it will only continue to get easier, as it's the recommended toolset for Maemo.

Originally Posted by JohnLF View Post
Then there's python. I'm sure this is something I could get to grips with, but are there any examples out there specific to the N900?
FWIW, I have been writing a lot of tutorials to do with Python, most of which I either test or write directly on my n900 - and those that I don't should generally run OK there anyway.

I haven't written many recently as I'm busy transitioning to a new job, but see the thread over at http://talk.maemo.org/showthread.php?p=559241

Originally Posted by JohnLF View Post
I think with a few good examples and some API references, I may be able to have a go at this. I have some ideas for some very nice apps!

More developers on board means more apps for all of us!
Great sentiments. If you've got questions, feel free to pester myself, or anyone else who's similarly minded around the boards -- I'm happy to help!
__________________
i'm a Qt expert and former Jolla sailor (forever sailing, in spirit).
if you like, read more about me.
if you find me entertaining, or useful, thank me. if you don't, then tell me why.
 
w00t's Avatar
Posts: 1,055 | Thanked: 4,107 times | Joined on Oct 2009 @ Norway
#10
Originally Posted by postformac View Post
I can run programs I write on the device but only through the Qt interface, I am still trying to work out the next bit of getting programs loaded to the device etc.
Little confused here: you say you can run them, but only through the interface. Which interface?
__________________
i'm a Qt expert and former Jolla sailor (forever sailing, in spirit).
if you like, read more about me.
if you find me entertaining, or useful, thank me. if you don't, then tell me why.
 
Reply


 
Forum Jump


All times are GMT. The time now is 09:01.