Reply
Thread Tools
Posts: 3,428 | Thanked: 2,856 times | Joined on Jul 2008
#111
Originally Posted by argoldst View Post
I would love to get the nexus 1 but there is a big problem. No multitouch. I could live without it if it had a physical keyboard but it doesn't. Which means, if you type fast, and you hit the next key before your finger is fully off the previous key, it won't register. Typing becomes a nightmare. I'd always rather have a good keyboard (like the touch pro 2) then onscreen but typing without multitouch is a dealbreaker for me.
The hardware supports it. It's disabled in the kernel. This has been enabled in some rooted ROM's.

I have seen rumor's that Android 2+ will try and implement this in some future release.. but I think the problem is legal issues with Apple.
__________________
If I've helped you or you use any of my packages feel free to help me out.
-----------------------------------------------------------------------------------
Maintaining:
pyRadio - Pandora Radio on your N900, N810 or N800!
 
javispedro's Avatar
Posts: 2,355 | Thanked: 5,249 times | Joined on Jan 2009 @ Barcelona
#112
Originally Posted by fatalsaint View Post
It doesn't matter if the phone is running Snapdragon, Omap, Omap3, x86, or any other processor. I built the application once, put it in the Google market, and it runs on everyones phones.
But how many android x86 phones are out there? Zero. Then, what's the use of this?

And by the time the first x86 android phone comes (if it ever comes), everyone will be using the NDK either way. See PalmOS5.
 
Posts: 3,428 | Thanked: 2,856 times | Joined on Jul 2008
#113
*sigh*

Again... this was not the focus of Nokia. Nokia and Apple selected hardware to use and built and optimized their OS around it!

Google built a platform that would work on nearly any platform so the choice was up to the handset makers on what to use!

I have never said either solution was a bad thing! I am merely saying both have benefits for their specific method of implementation.
__________________
If I've helped you or you use any of my packages feel free to help me out.
-----------------------------------------------------------------------------------
Maintaining:
pyRadio - Pandora Radio on your N900, N810 or N800!
 
Posts: 4,556 | Thanked: 1,624 times | Joined on Dec 2007
#114
Originally Posted by fatalsaint View Post
You're still missing the point.

If I develop an Android application.. it runs on Android.

It doesn't matter if the phone is running Snapdragon, Omap, Omap3, x86, or any other processor. I built the application once, put it in the Google market, and it runs on everyones phones.
What were to happen though if you built an Android application that required certain hardware specs (e.g. say one that taxes the Nexus and Droid's hardware).
__________________
Originally Posted by ysss View Post
They're maemo and MeeGo...

"Meamo!" sounds like what Zorro would say to catherine zeta jones... after she slaps him for looking at her dirtily...
 
Posts: 3,428 | Thanked: 2,856 times | Joined on Jul 2008
#115
The application would try to run.. but if the hardware was too light on say, the G1, Android would then kill it because the memory usage would go too heavy.

I admitted previously the "one app to run on all" has been having issues in the market. Apps that run fine on ones with hardware keyboards have issues on the myTouch and touch-only screens.. ones for the droid have issues on the G1.. ones for the Cliq have their problems.. etc.

But they are all still the exact same binary, exact same app, loaded on all platforms. When the developer hears 'This force closes on droid' he takes a look, fixes the problem to the one app, only has to re-upload it to the market one time and now it works for everyone.

Whereas with us, if we had 1 million apps in our app market, and Nokia decides to change hardware on us.. who really wants to recompile 1 million apps? How long would that take?

OTOH:

Say we were to spend the time, focus, and energy into opimizing Android's kernel and Dalvik VM for the N900 (just as an example), like any normal rich Handset Manufacturer. We now have a true "Android" phone in the N900.

We then take a "maemo" N900 and compare them side by side. Take apps from the Android app market, and native apps from the Maemo repository that perform the same function (since the apps themselves will obviously not be identical)... I would stake nearly anything that Maemo will load the apps quicker, they'll be more responsive, and there will be less overhead.

Also, assuming we were to remove the hard-coded 6-app limit in Android and made it true multi-tasking like the N900... and then took 30 apps that provided the same functionality.. I would stake anything that every time the Android N900 would crash and burn before the Maemo phone does. This is because of overhead.

That is the benefit to the Maemo method.. it's native to the architecture and has no interpreter, thus less overhead. However, assuming Android had 1 million apps and Maemo had 1 million apps.. Android can then move to a different arch and be ready to go. Maemo would not.

This is all I'm saying... there is benefits to both, and both were selected because of the original intent of their designers. Neither is truly "better" or "worse" than the other. Android phones are a fine device, android runs great IMHO...

It just feels like by me saying "Android has it's benefits", and also saying "Android is not really Linux".. everyone seems to think I'm either saying "Android is the greatest thing in the world" or "Android sucks!".

I prefer Maemo and the n900.. but I give credit where it's due. I just think Android should have followed the normal java implementations than inventing a whole new method. This gives something like Maemo another edge.. because there is minimal learning curve for a Linux Desktop Developer to learning to code for Maemo. But there is still a hefty learning curve for a Java developer to learn to code for Android... because it's sort of, but not really, but kind of mostly, in some way.. Java. That's just silly.
__________________
If I've helped you or you use any of my packages feel free to help me out.
-----------------------------------------------------------------------------------
Maintaining:
pyRadio - Pandora Radio on your N900, N810 or N800!

Last edited by fatalsaint; 2009-12-30 at 18:26.
 
Posts: 87 | Thanked: 40 times | Joined on May 2007
#116
Originally Posted by fatalsaint View Post
You're still missing the point.
No, I understand you very well, but actually, that's a only half-true and only works in one way.

If I develop an Android application.. it runs on Android.
Sounds almost like "If I develop Windows application, it runs on Windows".

put it in the Google market, and it runs on everyones phones.
Good theory. Bad practice. It does not runs on N900. As well as not runs on Symbian phones, iPhone, WinMobile, blackberry or whatever. So, this statement false at very least .

I cannot point it to the exact same repositories that the Maemo on the N900 is pointing and install the exact same software.
Actually, debian package manager (which is a backend of Nokia's application manager) allows to have repositories with binaries for several architectures at once. So you can have repos with same address with different binaries for different archs if you want to.

that is not as simple, easy or efficient as Android's method. Android uses a single market, for any phone or device on any hardware.
And again, at least two errors in your statements:
1) Very slow JVM is not "efficient" in any way.
2) As I told, it would not work on ANY phones. It would work only on SOME of them and their summary market share is low (below 10% of all smart phones IIRC).

and the same software has to be compiled, and recompiled, and recompiled again.
Yes, also apps needs to be improved, fixed and maintained. If your app opensource and others need it, they would build it for their systems once they really need it and author did not built it on his own. If there is no activity like this, app is either dead or simply not really needed.

Just because the Pidgin developers and community ported the apps to Windows, Linux, Mac, and the Maemo community ported the App to N800 and N810 is not "portability" like Android.
And again, as I told, good theory but fails when it comes to a practice. Whole Android market share is below 10% of all devices. Are you kidding telling apps are "portable" when over 90% of other phones and nearly 100% of desktops, laptops, etc can't run them? Wth this called "portability" at all?

If it were like android.. Pidgin would have been built one time..
Pidgin authors only release source code. So they release it only one time. Surprise, surprise!

and then every device in the world (assuming everything was android)
The "only" problem is that this assumption faulty. If we will assume every device uses x86 and runs Windows (which is far more true statement than your one, actually), then we have a "portable" app too. And this requirement is not much worse than Android's requirement. Since either you're forced to love single system and their twisted platform design or you're out of luck. Very cool, yeah.

- regardless of the hardware - now has pidgin. That is the appeal to Android.
Oh yeah, and everyone forced to love single OS design, etc? Ha-ha, this looks almost like Microsoft Windows and MS views on "portable apps".

I do agree whole-heartedly with your negativity towards google reinventing the Java wheel.
I did not get idea why there was need to create new Java flavor and quite slow JVM (it even does not had JIT so it's performance unsurprisingly sucks). Looks like Not Invented Here syndrome or so.

Also, as far as your syscalls and what not.. this isn't allowed on any android phone.. but if you actually get into the android SDK and development on Android you do have access to these things
So what's the use of such access? You will write app and then you will epically fail since you were unable to redistribute it? So you have feature but can't really use it since your users are denied right to use it. Sure, that's the best idiocy I ever seen.

and are able to compile libraries and drivers/etc for Android.. which Dan already said in a previous post.
The only "minor" problem is that most users would be unable to use all this, hence this is just waste of time on such platform. What is the clue to write lib, driver or app if almost nobody would be able to actually use them?

So Android is cool thing in theory and ordinary Java toy like J2ME on practice, plagued with Not Invented Here syndrome and numerous fixes to deal with initial design flaws.

And a bit about portability. For example looks like Google got idea OpenGL ES is a way to go if they want to remain competitive. So newer Android going to support OpenGL ES calls AFAIK, But wait, not each and every Android phone comes with a suitable hardware. So, how about portability, sir? I see two options: either ignore 3D accelerators existence in all apps but retain portability or ... portability goes to hell and app would not work without certain hardware, proving once more portability has been a cool myth. And option to run native code proves this once more. So there would be no real portability. But there is twisted and uncommon platform design for almost nothing.

Last edited by PowerUser; 2009-12-30 at 20:20.
 
Posts: 3,428 | Thanked: 2,856 times | Joined on Jul 2008
#117
Originally Posted by PowerUser View Post
Sounds almost like "If I develop Windows application, it runs on Windows".
This is completely different.. because windows only runs on x86/64. Get windows to run on ARM, and then go run your x86 binary on ARM Windows.

Good theory. Bad practice. It does not runs on N900. As well as not runs on Symbian phones, iPhone, WinMobile, blackberry or whatever. So, this statement false at very least .
I'm sorry I didn't clarify - I thought it would be obvious.. when I said "everyone's" phones I meant within the subcategory I was discussing.. that is.. android. It runs on everyone's android phone.

Actually, debian package manager (which is a backend of Nokia's application manager) allows to have repositories with binaries for several architectures at once. So you can have repos with same address with different binaries for different archs if you want to.
But they are not identical addresses. The debian repositories break it up by architecture. You might put the same thing into /etc/apt/sources.list but it does not go to the actual same URL address.

Look here, what do you see at the bottom? Oh that's right.. a different link for dozens of different hardware. That page (assuming someone writes an mplayer for Android) done for android.. would contain one link.. to one app. How the hell is this missing you?

Yes, also apps needs to be improved, fixed and maintained. If your app opensource and others need it, they would build it for their systems once they really need it and author did not built it on his own. If there is no activity like this, app is either dead or simply not really needed.
All apps need to be improved and maintained, this is not a negative or positive for either system. However, if the developer of a native app improves or maintains it... then every single person that recompiled their app for their system needs to go back and do the same again. This does not happen in android.

And again, as I told, good theory but fails when it comes to a practice. Whole Android market share is below 10% of all devices. Are you kidding telling apps are "portable" when over 90% of other phones and nearly 100% of desktops, laptops, etc can't run them? Wth this called "portability" at all?
This is completely off in left field. Maemo apps will not run on any other phone either.. nor will they run without a re-compile and probably GUI modifications on desktops or laptops. So whats your point?

Also, You very much can compile Android to run on a netbook or laptop or desktop. It's just whether you would want to.

Pidgin authors only release source code. So they release it only one time. Surprise, surprise!
Fine.. and then it's up to the 400 other people to recompile and re-publish their version of the software, again and again and again. Oh wait.. Pidgin updated ... lets all go back and re-compile and release again and again and again. Are you intentionally ignoring this part?


The "only" problem is that this assumption faulty. If we will assume every device uses x86 and runs Windows (which is far more true statement than your one, actually), then we have a "portable" app too. And this requirement is not much worse than Android's requirement. Since either you're forced to love single system and their twisted platform design or you're out of luck. Very cool, yeah.
Fail.

Yes if you assume everything ran x86. This is not an assumption Android makes.. in fact just the opposite. Android decides it's doesn't frigging matter what architecture you're running - if you're running android it works. If I have a ARM-based Linux, and a x64-based Linux, and x86 based linux - I can't take take the same binary from Linux to Linux to Linux and run it. Sorry.. it fails.

However, if I have a 64-bit Android, an ARM-Android, and an x86 Android.. I can go from android to android to android - and guess what?? Success!

Oh yeah, and everyone forced to love single OS design, etc? Ha-ha, this looks almost like Microsoft Windows and MS views on "portable apps".
Yes it is. But technically this is true in all phones and devices. Even on Maemo - nothing that will run on maemo will run on anything else not GNU/Linux *and arm* based, and nothing that runs on anything else will run natively on maemo. An OS runs it's own software... that's it.. period. Granted, Linux as a whole has wine.. which allows Windows apps to run in a compatibility layer.. but this is not true native, and isn't part of "linux", just an addon software someone wrote for it.

Lets keep with Apples to Apples.. not Apples to Cucumbers.

So what's the use of such access? You will write app and then you will epically fail since you were unable to redistribute it? So you have feature but can't really use it since your users are denied right to use it. Sure, that's the best idiocy I ever seen.
What the hell are you talking about?? Are we discussing Apple, or Android? So far as I know the only app to be pulled from the Android market is the Wifi-tether app. The android market is very open and laxed on requirements. They don't make a habbit of denying everything like Apple does. Hell, I can look through the Android Market and see dozens of apps that say: "For rooted phones only!!!" right at the top. Where is that in the apple store? I don't see "For Jailbreaked phones only!" in the official iStore.

This same logic can apply to Maemo too for crying out loud.. We have to get approved to have an account with the Maemo repositories, build our packages against a certain standard, before it'll get approved to go into the maemo repositories. An application that does not conform to the proper standard of the Maemo .deb release will get rejected (this is my understanding).

If you don't like it..make your own repo. Same logic with android.. if you don't like google's market - use another one. Which, by the way, you can do without rooting your phone.. unlike Apple, where you must Jailbreak it before you can install apps from anywhere but where Mommy says so.

And a bit about portability. For example looks like Google got idea OpenGL ES is a way to go if they want to remain competitive. So newer Android going to support OpenGL ES calls AFAIK, But wait, not each and every Android phone comes with a suitable hardware. So, how about portability, sir? I see two options: either ignore 3D accelerators existence in all apps but retain portability or ... portability goes to hell and app would not work without certain hardware, proving once more portability has been a cool myth. And option to run native code proves this once more. So there would be no real portability. But there is twisted and uncommon platform design for almost nothing.
Right. So come back to me when you get Crysis: Warhead running on a Pentium 2 750mhz CPU, with 256MB memory, and a 20 year old intel graphics card. What about F.E.A.R 2? Modern Warfare 2??? What do you mean it won't work?!?! I'm running windows damnit! According to you Windows runs Windows runs Windows!!! WHY DON'T IT WORK?!?!?!

The fact is, Android is more compatible from architecture to architecture as long as the hardware is at least relatively similar (in power, not base).

Obviously, a 3D app will only run on 3D hardware. But a 3D app in a 3D compatible ARM maemo won't run without fixing it on a 3D compatible x86 hardware. And vice versa.

But a 3D app on Android will run on a 3D capable x86 OR ARM Android hardware.
__________________
If I've helped you or you use any of my packages feel free to help me out.
-----------------------------------------------------------------------------------
Maintaining:
pyRadio - Pandora Radio on your N900, N810 or N800!

Last edited by fatalsaint; 2009-12-30 at 20:36.
 

The Following User Says Thank You to fatalsaint For This Useful Post:
Posts: 607 | Thanked: 450 times | Joined on Sep 2009 @ Washington, DC
#118
Originally Posted by fatalsaint View Post
The fact is, Android is more compatible from architecture to architecture as long as the hardware is at least relatively similar (in power, not base).

Obviously, a 3D app will only run on 3D hardware. But a 3D app in a 3D compatible ARM maemo won't run without fixing it on a 3D compatible x86 hardware. And vice versa.

But a 3D app on Android will run on a 3D capable x86 OR ARM Android hardware.
You make a point that Maemo developers seem unwilling to recognize. Furthermore, while you don't mention it, in Android it should be possible for the developer of an app which could use 3D (for example) to have the app turn off certain features if 3D is not available in order to make an even more portable app.

This is not to say that the Nokia philosophy is better or worse, in the abstract, than the Google philosophy. But as a user, I was upset that my N810 seems to have been abandoned by Nokia and it leads me to question (as have others) whether Maemo 6 will put the N900 in the abandoned bucket. As a non-programmer user, the portability of Android apps means much more to me than the relative openness of Maemo and, as faster processors become available, the overhead of the Android solution becomes less onerous in actual use.
 
Posts: 3,428 | Thanked: 2,856 times | Joined on Jul 2008
#119
Originally Posted by DaveP1 View Post
But as a user, I was upset that my N810 seems to have been abandoned by Nokia and it leads me to question (as have others) whether Maemo 6 will put the N900 in the abandoned bucket. As a non-programmer user, the portability of Android apps means much more to me than the relative openness of Maemo and, as faster processors become available, the overhead of the Android solution becomes less onerous in actual use.
I have read.. but not 100% certain from where... that Maemo 6 will continue to support QT and GTK apps from Maemo 5.

I mean really, once you get full QT or GTK support in the OS then you should be able to get QT or GTK apps to work. However, this could be very version specific.. some QT software written in older QT versions don't work right in newer QT versions.

I haven't done QT development in a long while... but I do know compatibility is there. As long as Maemo 6 still supports QT (and GTK), which it should, than those writing the apps today should be OK.

I'm not 100% certain.. someone can correct me here.. but I think the problem with Maemo 4 was that it wasn't full GTK.. it was this bastardized mobile version of it that people had to learn to write for.

I'd venture, as a comparison, it's almost like what the Android "java" is to real "java".. Just different enough to suck , and break the compatibility.
__________________
If I've helped you or you use any of my packages feel free to help me out.
-----------------------------------------------------------------------------------
Maintaining:
pyRadio - Pandora Radio on your N900, N810 or N800!

Last edited by fatalsaint; 2009-12-30 at 21:30. Reason: Had QT and GTK backwards.. GTK is the old style.
 
Posts: 262 | Thanked: 232 times | Joined on Aug 2009
#120
I thought this whole argument about portability had died a long time ago. Recompiling for different architectures is obviously the better way, and if you don't believe that, just look at Gentoo. Its users recompile every single package they install with very little trouble.

I'm not saying Gentoo's solution is the best, but it obviously works well for many people. Given that, how can it be too difficult for maintainers to rebuild a binary distro for a couple of architectures? It's not like we have 100. Debian provides downloads for:

[alpha][amd64][arm][armel][hppa][i386][ia64][mips][mipsel][powerpc][sparc]

and that's plenty. Notice how the two x86 architectures are only i386 and amd64, rather than i586-MMX, i686-SSE etc. Between them, they support every x86 CPU since the end of the 80's (ignoring speed), while still providing fairly new optimizations. If experts want the newest instructions in a couple of apps, they recompile them on their own.

As long as you can recompile it, a program IS portable, and C works on many more systems than Java.
 
Reply

Thread Tools

 
Forum Jump


All times are GMT. The time now is 04:51.