Pandora Should Move To Android


Oh, and another thing is that Android does have native applications not running in Java now using NDK, but those might not be as easy to run on an emulator...
 
dflemstr said:
Oh and apropos portable packages... We get the .apk format for free; no more PND mess.
I'm surprise that "the box" author call PND a mess. It has a lots of flaw, sure. but from the user point of view, they are just perfect.

dflemstr said:
The problem with having an "Android emulation layer" is that it won't be an emulation layer, because Android was meant to be used as a complete OS.
It hurt to ask this question to _you_, but have you ever digged into android ?
It's a set of applications on top of a custom VM on top of custom libraries on top of a linux kernel.

Setup an extend for android (just as simple as getting it compiled... not that easy) and be done with this. No need to work on drivers. As the custom libraries still use standard Linux interfaces, they will just talk to our current kernel just fine fixing the "the 2 will not coexist" problem.

Gruso said:
Pandora Cube.
I just lolled :)
 
Last edited by a moderator:
Just to re-iterate what many have said, Android will be a nice gimmick, heck, it's already been run on Pandora (saw a YouTube video somewhere).
But the main OS, to me, has to stay Linux. Be it Angstrom or Ubuntu, I would rather have control over my Pandora plus I think it'll make it "just another Android device" if we go that path as a default and only OS.
 
TimmyB said:
The Pandora doesn't need to MOVE to Android because it's capability to run different GUIs etc. is one of it's strong points.

But should a lot of time (and potentially money) be spent to get Andriod working well on Pandora? Absolutely.

Just be careful that doing this doesn't highlight the Pandora's limitations (it's not a phone, it doesn't have tilt sensors, it doesn't have a built in GPS).

Very exciting to hear you saying this though Craig...

Seconded. Would be great to have a fully-featured set-up for this.

And I also don't think it should replace the linuxy-linux OS, however
 
Last edited by a moderator:
There's some pretty obvious appeal here. And some pretty obvious risks. Don't do anything to Pandora 1 that would threaten existing software compatibility in any way, that'd be a major middle finger to the people who have done stuff for it so far. It'd already be a pretty big screw you to the people who worked so hard on the distro.

Here's what I think, in the standard Exophase grating bullet point form:

- I heard before that you only get access to the Android store if you're running an officially sanctioned (by Google) Android platform. Maybe someone can clear this up for me. What's the story on Odroid for instance?
- I don't think you need a phone or a GPS to do this, but not having motion controls is going to crippled game compatibility.
- The limitations have to be very upfront... like ED said, stuff like ssh and terminals on the device are a must.
- Any performance implications have to be carefully examined, the big ones are going to be things that affect latency, periodic CPU bursts, sound system, and most importantly whether or not you have close to zero overhead screen writes (one way or another). I don't know how Android really is under the hood, but there's no point flying off the handle assuming it sucks. There's way more incentive to make it as efficient as possible than there is for the vanilla Linux distro we're using... this is being positioned by several huge companies, against iPhone no less. And don't judge it by whatever emulator ports are currently on it.. I doubt they've received the same level of attention that even Pandora's thus far have, much less what they will.
- Selling it as a dual boot platform is going to be messy. At the very least Android has to be the primary option for it to really push the platform. And for the current NAND system it just isn't going to work, you can't very well fit both... we're talking about way more than just changing a GUI here.
- But to all the "let's stay with Linux" crowd, Android is still Linux.
- Let's face it, current distro has bugs and while I'm sure things will get better in time it's at a serious competitive disadvantage with Android.

What I think is that this shouldn't be done on Pandora 1, but on Pandora 2 it might be very compelling because I'm willing to bet that some big phones are going to launch Android on OMAP4 in 2011 (next Droid perhaps?)... and anything that can help get software up faster on it for Pandora is going to be a big plus. For ease of integration just look at Odroid.. if they can do it OP probably easily can too (although Samsung's SoCs are pushed as really Android friendly). That, and I don't think Pandora 2 should end up being behind the phones by a year; look at how much backlash Pandora got for being even about half a year. Just give Pandora 2 an accelerometer too.

DaveC; I appreciate your decision to bail if this ends up sucking but for god's sake, stop assuming so much and jumping to conclusions on everything. At least wait to see how a test run of it performs.
 
I for one have never used nor even seen Android. So I cannot say whether I like it or not, however, I think keeping Angstrom as default would be best based only on the fact that since it was chosen early on it had to have some advantages we would want to keep.

I would propose that Craig use a bounty in some sort of competition or whatnot to get multiple OS's built up and packaged to create as many usable OS's as possible.
I would love nothing more than to have a nice simple tutorial with pre-set downloads where I could just copy the files to the SD card, type in whatever, configure as instructed, and be able to boot up my Pandora and select from Angstrom, Android, Gentoo(Neuvoo? is it), Windows mobile or whatever can be ported so I could fiddle around with them all.

Craig could just use the fact that "X" amount of systems can be run based on what is ported, devs can get some "ching ching" and we are all happy and the Pandora goes down in history as the first pocket computer with gaming controls that not only played games and apps from multiple systems, but games and applications meant for multiple OS's.

I'm just wondering if bringing it together this way instead of focusing on a full one single replacement OS isn't the better Idea.
 
craigix said:
Consider:

The Pandora should move to Android to get real commercial software and games - plus it's only a matter of time before someone else releases an Android games console (which works well), Pandora should be first.

Discuss...
Why?

What do we need commercial games for? If we really wanted those then that is what a DS, PSP, 3D DS is for right? The Pandora would get lost and crushed competing in that business.

Wasn't the odroid an Android games console? Your "should be first" thing is kind of gone there. I don't see the Odroid setting the world on fire either.
 
Last edited by a moderator:
DaveC said:
Why?

What do we need commercial games for? If we really wanted those then that is what a DS, PSP, 3D DS is for right? The Pandora would get lost and crushed competing in that business.

Wasn't the odroid an Android games console? Your "should be first" thing is kind of gone there. I don't see the Odroid setting the world on fire either.

He said "which works well", obviously acknowledging Odroid but implying that its controls suck. Which by all accounts they do.

How could commercial games hurt? Assuming you don't lose the base crowd (I doubt you would lost many if things were played right) you'd only get way more people wanting to buy it for being Android. Odroid isn't setting the world on fire because it's a shoddy design from a Korean company that's doing awfully little to promote it out of Korea, and as far as I know isn't making it available in any kind of quantity.

But it's all moot if OP can't produce units at a dramatically faster rate than they have been.
 
Last edited by a moderator:
Exophase said:
He said "which works well", obviously acknowledging Odroid but implying that its controls suck. Which by all accounts they do.

How could commercial games hurt? Assuming you don't lose the base crowd (I doubt you would lost many if things were played right) you'd only get way more people wanting to buy it for being Android. Odroid isn't setting the world on fire because it's a shoddy design from a Korean company that's doing awfully little to promote it out of Korea, and as far as I know isn't making it available in any kind of quantity.

But it's all moot if OP can't produce units at a dramatically faster rate than they have been.
Ok I never used the controls but they do look bad.

Adding commercial games by itself won't suck but the overhead and "hands off" way Android works to get them is what will suck.

You kind of lose control of your system and just have to use "APK package installers" that will just do things on their own and don't let you really set things up how you like. This will kind of take things away from the community and leave things up to Google to say how you can and can't use your system. Forced OS upgrades etc is just not too appealing. The community can't really tailor the OS to the unit or how we use it. We hand over control of the Pandora and it's features etc to Google. To me that is just cringeworthy and is against who the Pandora was designed for and by.
 
Last edited by a moderator:
Is there any feasibility in having a Pandora Android fork that includes some Pandora specific stuff, including maybe a more bare-metal no-Java-at-all execution environment, maybe support for existing Pandora apps? I don't know a lot about what Android's about to know if this is possible or allowed, nor how feasible if it is.
 
Exophase said:
How could commercial games hurt? Assuming you don't lose the base crowd (I doubt you would lost many if things were played right) you'd only get way more people wanting to buy it for being Android.
What can Android do that the current distrib cannot that would make people want to buy it, and offset the liability of the added difficulty of porting existing Linux apps? Is it just the Google brand?

From a cursory skim of Wikipedia, it looks a bit like Google's trying to go the Microsoft 1990s strategy - take existing standards, extend them until they're no longer compatible with previous formats, close it off, profit.
 
Last edited by a moderator:
Just so I can make sure where I stand on this as someone who's developing for the Pandora using Python+Pygame at the moment and Cython+Ogre3D in the future, would that even work on Android? Guessing no.
 
Interesting point: Android is booming in China, so we'll see the platform growing incredibly quickly in the near future. It's said that it will overtake Symbian in the Asia market some time in 2011 I believe, thus becoming the dominant mobile platform in the world. So there certainly won't be a lack of applications, and as Exophase says: if big companies start backing the platform, it'll be extremely stable and streamlined.

We've already seen Google contribute the fantastic Dalvik VM (well they sponsored the development anyways), replacing the ancient stack-based Java bytecode system with a virtual RISC-like instruction set with 32 virtual generic registers. This means that the platform has incredible performance optimization opportunities, and people have already started writing XSLT-based code transformers (yes, the virtual arch is so simple that you can perform compiler optimizations by pattern matching them; XSLT isn't ideal of course but it works) that fine-tunes the byte code for specific processors (somehow; they must have done some expectation-maximization tuning with the Dalvik's JIT). Now I'm just waiting to see the addition of stack-stored data structures beyond [byte, short, char, int, long, float, double] so that one has some chance of doing basic memory management without references.

So yeah, exciting times ahead for the Android platform. I'd say that we should ride the wave, at least with some reincarnation of the Pandora.


@Exophase, The whole windowing system is basically Java-based (the native code is practically inaccessible, because Google apparently doesn't want users to be able to create apps that can "take over" the UI and spawn popups or kill the program manager etc), so you need to at least have some kind of Java interaction. But other than that; you can always use JNI (Google it, it's fairly powerful) to create a (native) dynamic library whose functions can be called from Java (with automatic marshaling etc.) and from there you can go wild. I wouldn't personally recommend to put anything besides performance-critical components in native code libraries, because the bigger the "calling interface" is between the native lib and your Java app, the more problems you'll encounter (related to memory ownage, mutex stuff for threading etc), and you can't do that much from native code anyways besides pure number crunching and interacting with non-standard devices; at least not if you're on an "unrooted" device.


@Eniko, Python and Pygame will still work fine; you just run your code via Jython (Jython has had some problems with code generation on Dalvik that have been fixed now I think)
Ogre3D... probably not usable on Android. But I'll have to do some research, because they have had a Java port of Ogre for ages, and if you were to use Jython instead of Cython, you could use the Java version of Ogre3D with little/no performance loss.
 
Is the Dalvik-JIT beyond pathetic yet? I was kinda flabbergasted by their decision to not push that forward first thing, instead thinking that interpretation was actually a pretty route (yeah it saves memory.. maybe that'd be less of a vital concern if the memory footprint wasn't so otherwise huge to begin with.. guh.. okay, there's another drawback, unless they've worked on this a lot)

Thanks for the tip, am familiar with JNI. Don't know that much about Android beyond what the Dalvik presentations told me, but I do know about Java B) Putting more than the "performance critical" parts is absolutely necessary if you expect people to port anything. In fact, I'd fully expect there to be toolkits just to help porting, providing the Java framework you need. I am absolutely not converting code to Java, and your cautions sound like big warning signs against using Android.. we need something open dev friendly, not just app store dev friendly.
 
It seems like this is a solution in search of a problem. OpenPandora (with the help of this forum, let's not forget) has made a successful design and can't keep up with demand as it is, so how would "riding the bigger wave" change anything except making them less independent? Quite a lot of existing Pandora users have said that they wouldn't switch, so if you decide to go with Android, you create a schism in the community. The confusion with the different download archives is bad enough...

I'm also not seeing the pessimism about software at all. Several new programs/emulators/games are getting ported/released almost every day. And this is with only ~600 units shipped.
 
Once there's a stockpile of Pandoras (Pandori? :unsure: ) waiting to be sold then promoting an Android Pandora would be a good idea. As Android is a consumer friendly OS it would certainly open up a new customer base for you.

But ditching the current OS altogether in favour of it sounds like a bad idea to me.
 
As an alternative OS, I think it's a great idea. Not so much for the primary OS though.
Heck, match it with a 3G adapter, work on making the combo official, and have the blue tooth headset, side talking Pandora phone. :-b
 
Personally I think Pandora should move to Andromeda.

sRVNG.gif
 
@Exophase, Esn, maybe you're right; this community has quite a lot of luggage to carry around with it in form of work that's already been done.

But what do you think would be required as a "bridge" for "native oriented" devs to be able to do what they do best on an Android platform?
SDL is available via the Google NDK (Which basically lets you write a normal C/C++ program, and they set up an interface for you with basic functionality for controlling the Java part of the system) and I know someone who got it to work so it shouldn't be a problem. OpenGL and OpenAL are also available, but I haven't done any tests to see what kind of setup is required.

Anyways, the NDK might actually be worth checking out if you haven't already; it's higher level than JNI but lets you write more "pure", "ordinary" C/C++ programs, and porting stuff should be easier this way.
http://developer.android.com/sdk/ndk/index.html#overview
 
Back
Top