View Single Post
Guest | Posts: n/a | Thanked: 0 times | Joined on
#16
Originally Posted by edgedemon View Post
A very good post Jaem, but it raises some important questions, or at least maybe a clash of cultures..
If the n900 is to take off, it will need to attract a new wave of developers, some from the linux world, but there could be an army of Mac or Windows developers as well as we are beginning to see now.
You raise a good point, and technically with a properly set up dev environment, you would't need to know all of the stuff I mentioned, however, when you're doing something as complex as coding, it's good to be really familiar with the platform (my belief is that if you're doing a non-trivial task, you should learn about it at the deepest level that is practical for you, both because you'll be generally better off, and because it will save lots of time when something goes wrong. The Open Source culture encourages that.). Also, my impression was that the OP didn't want to just scratch the surface and try to get by.
I think part of the problem is the power and scope of the Maemo platform; it's real Linux on a phone, not an OS designed specifically for mobile devices. You have to understand the paradigms it uses in a lot of depth, and if you're going to learn a Linux distro anyway (Maemo), then I would imagine the SDK developers figure that you can learn Ubuntu (which is similar). I see what you mean about it being a barrier to entry in some cases, but I don't see any easy way around it. More on this later...

Originally Posted by edgedemon View Post
I have installed a linux VM, as well as the scratchbox and im working my way through some python tutorials. Having looked at linux, I like the community/open source approach but I hate the OS, dunno why, I just don't like it, look or feel, though I can appreciate that it is a powerful beast when you get to know it, and therein is the problem.
This has been said many times, but keep in mind that the Maemo SDK is just one very small taste of what Linux can be, and also that it's intended for technical use. If you don't like Ubuntu, check out Kubuntu, or one of the other variants. The sheer magnitude of choice (even out-of-the-box choice) is arguably Linux's best strength and worst weakness, but if you like choice, then IMO you can't do any better. Look around a bit more - this website has archived screenshots of several different distributions, to give you a better taste of what's out there.
Originally Posted by edgedemon View Post
I have never coded for anything, but the n900 has made me want to code something/anything for the first time. My understanding of Qt is that it is cross platform, so do I really need to use linux? Can't I learn to develop in Windows with python tools/IDE and fire up the VM when I want to test? Maybe Im looking at this in too simplistic a way, through inexperience, but I know I don't need to be running Mac OS X to code for the iphone or even understand it that well, surely I can code for the n900 without having linux as my desktop.
At best I can only run it as a VM, as I also game alot and love my adobe CS4 too much to switch over to ubuntu,
Is it really not feasible to develop in windows and use a VM for testing?? I know I will need to use the VM to understand the filesystem and as a testbed...
As was mentioned, Python + Qt should work on anywhere both of those are supported, however, the Qt build that's distributed for Mac is not the same as the Maemo build, so you'll probably want to test on-device or in the SDK. Technically, you could code in C/C++ on a different OS (if your IDE needs the headers to parse, you could just copy them from the VM), but you'll have to compile and debug in the SDK anyway.
I think you have a point, but not one that's easy to address. One thing I notice is that the SDK assumes a higher level of competency with Linux than is maybe strictly necessary. I don't know what could be done to simplify that without changes to the SDK infrastructure itself, but in theory the workflow could probably be made simpler for non-*nix users.
 

The Following User Says Thank You to For This Useful Post: