Hacker News new | past | comments | ask | show | jobs | submit login
Android – Now Ported On The iPhone (appadvice.com)
494 points by xonder on April 22, 2010 | hide | past | favorite | 121 comments



The actual hacker's website is: http://linuxoniphone.blogspot.com/

He mentions at the end of the video he is looking for more contributors and if you want he has a paypal for donations. I don't have an iPhone but I threw a few bucks his way because I'm sure this took more than a bit of effort. Hopefully Google will put some resources behind this because it is really cool


While this is indeed really cool, I don't think there's any way Google can even semi-officially back this. Thanks for mentioning the donation link though, this guy's earned it.


Why not? It's your hardware and you can do what you want with it.

Apple have never complained about people installing Linux on MacBooks. In fact back in the G4 days they turned a blind eye to Mac on Linux which let you virtualize OS X on top of Linux (at about 95% of full speed!)

Link: http://mac-on-linux.sourceforge.net/


> Apple have never complained about people installing Linux on MacBooks

That's because running Linux is far more common than changing smartphone firmware, and Apple does not make money from Mac OS X AppStore (yet?)


Apple basically breaks even on the iPhone app store, too.


I'd like to see hard numbers about this assertion


They discussed it in their shareholder's call. But really though, is it that surprising? 30% does not go far when you take servers/bandwidth, customer support and credit card transaction fees into account selling mostly $0.99 products.


Being conservative

Credit Card Processing: $0.25+2.9% Bandwidth for downloading even the largest 99 Cent apps (2GB) using amazon S3 (or a smaller version multiple times): $0.32

So that's basically 60 cents in cost for certain apps to be downloaded in the worst case.

Honestly, looking at that, it somewhat looks like they should wipe out the Tier 1 price point. Then it would seem they'd break-even on every paid app download.


except that they don't have CC transactions for EACH app you download, do they? I believe they make a bulk charge at the end of the day so if you download a $2.99 app and three 99 apps, they don't pay a transaction cost for each app. They pay $.25 + 2.9% of $5.95.


I was being conservative with worst case scenarios.

The purchase of a single 99 cent app likely costs apple money. The purchase of a free app does as well, but usually a much smaller amount (the cost for the download bandwidth).

1.99 is probably guaranteed profit. We work with some of the largest downloads in the store from what we can tell, and even at amazon s3 rates, a 1.99 sale should generate a few cents for app.


They may break even on the numbers, but the apps are one of the biggest features and selling points for an iphone. Apple even knows this too, when was the last time you saw an iphone commercial that didn't say 'there's an app for that'?


That may or may not be true at the moment, but Apple is definitely trying to change that with their new iAds.


And iTunes in general. Profit comes from hardware margins.


I doubt it matters to Google since they know they don't have to officially support it. People want it so eventually it will happen.


> Why not? It's your hardware and you can do what you want with it.

good luck buying a copy of OSX and running it on a VM. Welcome to the QA department hell.

Maybe google will leave the US now too because of the DMCA.


I wonder how much the Android code had to be hacked to make that happen - like, once you jailbreak your iPhone and get Android on there, and Android 2.2 comes out, will you just be able to upgrade and be happy, or will it be essentially a "fun thing to hack around with but not something you'd really want on your primary phone" thing?


This is a really good question.

One thing I've noticed when surfing around various Android forums is that people who build new ROMs or port them between phones often include a list of things that do and do not work.

He says in the video that pretty much everything works, which I'm inclined to take with a grain of salt.


I would guess the Linux boot loader will be able to accommodate booting any future ARM6/7 kernels with no trouble. From there it's just a question of drivers. I'm guessing he lifted them from another Android phone using similar hardware. From what I recall everything in the iPhone is pretty vanilla hardware. Those drivers would have to be ported to work on 2.x since that's been one of the major holdups for the 2nd tier Android handsets so far. He also mentions doing some loopback mounts to simulate an SD card. Seems promising for the future.


Nice work. There is no app for that.


I'm excited about the prospect of seeing this on the iPad...


Makes me happy to hear. The news is fresh but already you're thinking higher, faster, different and more.


You should've seen what was going through my head while watching the original iPhone keynote speech...

This was before we knew that the iPhone wasn't planned to ship with a native API (or that the eventual API and the phone itself would be so crippled), but for a brief, shining moment, I saw a world where everyone had a real computer in their pockets, always connected.

I really ought to go through my notes and implement some of those exuberant ideas for Android.

(To my delight, at least one of them has already been made: Google Sky Map. It's also smarter, as it uses GPS to determine where you are; my idea was to use the camera and image processing to recognize constellations).


Care to post some of those ideas? Could be an interesting topic for conversation. I think a lot people's thinking about smartphone apps and what's possible has started to get a bit... constrained by what's already popular.


I've been thinking of posting an online commonplace book of ideas that I want to see implemented but don't have the time or inclination or domain-knowledge to implement myself.


I see no reason why you can't make that with the iPhone API right now (with 3GS hardware). It might be faster with a native OpenGL ES implementation too.


That was just one of many, most of which simply can't be done as iPhone apps (and several of which already exist for Android).


But can you give me an example that actually can't official API wise? Google Sky Map can be implemented on the iPhone with official APIs. Other than apps that edit system settings (like Locale) what can't you really do?


But can you give me an example that actually can't official API wise? Google Sky Map can be implemented on the iPhone with official APIs. Other than apps that edit system settings (like Locale) what can't you really do?

Well, the very first thing that I wanted to implement was something like this:

http://code.google.com/p/android-scripting/

1. Interpreter/VM with arbitrary code.

2. Open Source

Until recently, VOIP was banned, as well.

Aside from decent notifications and real background tasks (and the aforementioned Locale, which was also on the list), the biggest blockers are the App Store and its restrictive policies.


that was exactly my feeling when I watched original iPhone keynote!

Free at Last, brother! :)


Probably take a while because the A4 processor is essentially undocumented. Although, It's a Cortex A8 Core with a SGX535 GPU core which is documented by other manufactures


The majority of the opcodes is identical though, you should be able to infer the rest by inspecting the code, the 'unknown' opcodes and architecture details can usually be puzzled out like that.

Reverse engineering CPUs with unknown architectures like this has definitely been done before, and the fact that it has most of the major components identical with a documented set will only make that easier, after all, the changes should be relatively minor compared to the common parts.


Now, either me, or someone else, is going to have to do a friendly writeup on how to install this. This could soak up the better part of a few days. I need this.


Why? There are Android tablets already aren't there?


Maybe jjs wants to combine Apple's industrial design with Android's open software.


and dual boot. (Triple? maybe chromeOS?)


ChromeOS provides an interface consisting entirely of a webkit-based browser. The iPad already ships with an app that duplicates that functionality, called 'Safari'.


s/combine/tarnish/

;)


That's some kind of special awesome.

Really surprised at how fast it seems.

Reminds me efforts to emulate all manner of systems on minimal hardware, or run emulators inside of emulators.


The speed of it was my first comment as well. It's even more impressive, if you consider that this is running a debug build of Android on an iPhone 2g; not exactly a recipe for performance.

I tossed a donation his way; hopefully we'll see a port to 3G hardware shortly, at which point I'll probably jump ship quickly. As long as the phone itself and SMS works, I can deal with little bugs and quirks while it stabilizes.

Sorry Steve, I'm just not that into you anymore. But, you do make nice hardware. :)


"But, you do make nice hardware. :)"

The sad thing is, I've come to realize more and more that they don't even make the hardware. They just package it well.

Don't get me wrong, that's a big portion of the appeal. But at the end of the day, Apple has simple become effective at putting together other people's hardware into a pretty container.

Note: I'm ignoring the software end of this, which I realize is a big factor for many people as well. I'm merely focusing on the hardware end.


By "nice" I assume he means nicely designed, which is something that is largely unique to Apple.


Well, that's one way of getting porn on the iPhone.


I'm sure it's much easier to just open up Safari and type in the right URL...


It is. (This has always been the silliest part of Apple's posturing-banning apps that with the ability to access adult content, even if that was not their intended purpose.)


No, I think the issue was never about preventing people from accessing adult content on their Apple phones/devices. The issue is about Apple not wanting to sell certain adult content on their store front.


The other way around would be pretty cool: Run iPhone OS on some clone hardware.


How technically feasible is it to get iPhone OS running on Android HW? I just purchased my Google Phone yesterday. I would think twice now.


I have no idea but probably an order of magnitude harder since it's not open source.


It would be very clever for Apple to support this first party someday. BootCamp for the iPhone. Seems to have worked well on the Mac side. Few people buy MacBooks to run Windows but lots of people like the idea that they could run Windows if they needed to. There's probably far less demand on the SmartPhone side for this type of feature but ultimately if Apple is making all their money off hardware it may serve them well to support side-loading of Android someday.


One of the reason there are so many iphone apps is that the people developing the apps themselves own iphones. If everyone making iphone apps can port their apps to android and test them on the phone they already have, then there will be more android ports of iphone apps, which means less value in the iphone platform. That's why Apple will not encourage this.


Dubious, particularly if they're so hellbent (for better or for worse) on a specific user experience. Plus, all the little things - like, say, not having enough buttons to truly mimic the Android experience (which the video mentions in an offhand way and is probably less an issue for the sort of people who'd dual-boot an iPhone) would suddenly come into play if this were an actual supported mode of operation.


I'm sure as long as Steve Jobs runs Apple, that will never happen.


That was the same comment everyone made before Apple's official announcement of bootcamp and windows on the Mac.

I do agree it is unlikely, but I know that Apple learned that it was the choice and ability that was the big sell and people continue(d) to use Mac OS instead.


The decision to do bootcamp on Mac was strategic because there was a ton of software that was windows-only, and for many people a windows pc was necessary even if their primary computer was a mac.

In the case of mobile phones, Apple is way ahead in terms of third party software, so I think in their eyes allowing double-booting will not improve the iphone substantially.


"but ultimately if Apple is making all their money off hardware"

What on earth makes you think theyre making their money on the hardware?


"What on earth makes you think theyre making their money on the hardware?"

Check this graph: http://www.businessinsider.com/chart-of-the-day-in-case-you-...


My point is that when your average Joe buys an ipod, iphone or whatever theyre not buying a piece of hardware. They're buying the cultural cache of owning an Apple product. They're buying the seamless user experience (which comes more from the software by the way). They're buying the ability to show off a new toy to their jealous friends.

They're not buying a box of transistors, a quantity of RAM, a camera etc. The hardware is just a box used to deliver a shipment of easy to use, cool enhancement. That's what people are buying. Not hardware.

Apple could never charge what they do if people were just buying hardware. You buy comparable hardware for a fraction of the cost but it doesn't have the other emotional/social stuff and that's where Apple makes their money.


This graph isn't necessarily saying that they make all the money on hardware.

Each of the ipod, mac, iphone are a combination of apple hardware AND software. That isn't split out. Where the graph shows software, they are referring to things like final cut, iwork, etc.


Because they don't make it off the software

http://www.theregister.co.uk/2010/01/26/app_store/


It's not just the hardware or the software. Apple is selling a fully integrated experience.


They sell emotions.


World's 3rd oldest profession?


Link to the announcement on the developer's blog: http://linuxoniphone.blogspot.com/2010/04/ive-been-working-o...


While I think this is cool (and I used to do linux kernel work, before moving to product development, mostly iPhone app dev these days, so you really don't get how cool this is to me), I don't see why you'd want to do this: 99% of the good stuff in the iPhone is the software, not the hardware.


Very true. I have a Linux phone (Android) and I must concur that it sucks. I really regret buying it. Particularly since HTC has done an Apple on me and made it extremely difficult to install a new ROM.


It's most probably not HTCs fault/decision, seeing that the Nexus One is from HTC and has no such restrictions. I think the mobile operators demand this.


If you bought it in the last 30 days, you can return it...


That's what Palm thought, and their shitty, unreliable hardware has helped to kill their company (in addition to the woefully late SDK).


True. So what we'll need to do is to run the iPhone OS virtualized under Linux. Or perhaps using an ARM emulator. :)


I would consider doing this just because what I'm currently stuck with is an iPhone.


This will be useful! Now you don't need 2 devices to develop for android and iPhone.


How can you make sure if your app will work on other people's "real" android phones if you develop it on iPhone?


Isn't that the problem with any testing of Android apps? This is just one more different Android "subplatform".


Isn't that a problem with testing apps on almost any platform? How many iPhone devs have every model of iPhone AND an iPad? What about PC software developers? Hell even web devs really only test on what they hope is a representative sample...


Indeed, but on some platforms it's worse than others.

If your app is intensive enough that it will have trouble running on a pre-3GS device, you'll probably know it and it'll be worth buying an old device off of eBay for testing on. At this point, there are only two significant segments of the platform (pre-3GS, post-3GS), though there are other slight differences in processing speed amongst the models. If you're requiring GPS or compass, likewise you'll know to not declare that your app will run on devices that don't have those features.

I believe the App Store review process also does some degree of testing on the various devices that the developer claims their app will run on. I'm not at all sure of how exhaustive it is, though - I know I've seen people say that games were unplayable on pre-3GS phones despite officially supporting them. This certainly seems a prime (good) case for Apple to deny acceptance to the store and I hope they do more of it in the future.

And of course this will get more complicated as time goes on and new models are introduced. But it seems unlikely that Apple will introduce models with, say, varying aspect ratios, non-integer scaled resolutions, vastly different numbers of hardware buttons, or things like hardware keyboards. Freedom and diversity are great and it is absolutely necessary for the ecosystem to continue to have platforms with high amounts of them, but they also come with a price.


You don't need to test on every iPhone OS device though. Just the ones with different hardware changes. So basically: original iPhone and, iPod Touch 2G, iPhone 3GS and iPad.

And this hardware combination (or 3 of the 4) isn't hard to imagine. Not for a US-based developer, at least.


It would be interesting to compare battery life between running iPhone OS and Android.

Also, does making phone calls work?


He said he was about to demonstrate making a call just before I stopped watching.


It is a bit of a roundabout way to get flash on the iphone :)


This is incredible. I've been hoping for over a year that this would occur. Why would Google not pick this guy up... clearly he knows his way around Linux and Android.


Not everyone wants to work for the big G...


Hahaha.. Adobe should pick this up and run with it as a joke. Flash on the iPhone here we come.


Kind of like Sprint's "iPhone 4G".


Bonus points that this is on an iPhone 2G!

Maybe my iPhone 2G is still relevant...


I'm curious if there is any sort of EULA or click through licensing that prohibits this, or if there was any low level DRM that needed to be hacked around.

Apple has a history of trying to thwart efforts to run their software on other hardware, but I don't recall any efforts to prevent other software from running on their hardware. They area a hardware company, after all.


It requires jailbreaking your iPhone, which according to Apple is illegal. And they're probably right per the DMCA.


The DMCA doesn't apply to phones.


Where's your evidence to support this?


Who is indicted for jailbreaking their iPhone?

Oh yeah, nobody.


DMCA does not apply to anything you own.

Was it ever used against consumers that don't try to make a shop out of modified equipment?


Luckily depending on where he lives EULA/Clickthrough/Wrapper licenses are either illegal, frowned on, or "We'll add that into consideration.". If he's in the US, then it's by state. Outside of the US it's by country.


I'm not really concerned with enforceable legality so much as what Apple's current stance is as a means of predicting any response if this project grew.


His carrier is Rogers, he is likely in Canada.

He's fine.


I'd be a lot more interested in seeing someone go the other way and get iPhone OS working on a droid.


He's filming an iphone with an iphone O_o

Countdown to flash running on the iphone in 3, 2, 1 days...


Come to think about it, I'm not sure this is actually a good thing for Android.


What a dangerous claim you're making here. An unbacked assertion that it might be a bad thing. You're really going out there on a limb, aren't you?

This is neither a good thing or a bad thing for Android. Nobody real cares, so it's unlikely to get much publicity positive or negative. It's no skin off Apple's back for two reasons. First, you already paid for the device; they have your money. Second, no one in their right mind would want to use Android OS over iPhone OS anyway, especially not if they've already paid for an iPhone. It'll have no impact on Google because of the aforementioned lack of real people taking any interest.

I am going to make the firm claim that this will have no noticeable impact on anything and will probably not even merit an unprompted official comment from either Apple (I'm rescinding my claim about Google, because those Googlers are notoriously chatty and I wouldn't put it past one of them to mention it on an official blog, but probably not). I invite anyone who disagrees to put money on it. I'll be $10 to charity against the first two comers.


I don't mean to diminish what this guy did in any way - it surely took a lot of time, skills and perseverance.

What I'm concerned about is that some people, who under normal circumstances would have bought an Android device, might buy an iPhone thinking: "Well, this is the best of both worlds, it can run Android and the iPhone OS".

This kind of thinking could do a lot of harm to the Android community: less money for Android manufacturers who support Android's development, lesser user experience on the iPhone-Android (considering it's basically a hack) might leave a bad impression to first time users, etc.


I don't think "FrankenMac's" where people were loading OSX on generic Netbooks had any effect on Apple's hardware sales. I doubt this will either. Its a super clever hack and mighty amusing. But I'd assume that, much like the FrankenMac's, it'll be too awkward and unstable for most people to even consider using long term. (I know I gave up on running a frankenmac under VMWare, and all the people I know who were running frankenmac netbooks have gone back running either Windows or Linux on them. A few of them keep an OSX partition around just to show off that they can do it. :-) )


And what I'm saying is that it's extraordinarily unlikely that more than a handful of people will have the reaction you worry about. Among other things this would void the warranty, and most people like warranties on their phone. It's also unlikely to ever get into a state where it's dual-bootable, so only the most extreme of tinkerers will consider this a selling point.


As unlikely as it may seem, the dual boot part seems already done according to the video http://www.youtube.com/watch?v=5yO2KQHkt4A


Huh, shows what I know. Even with that, the effect you're worried about will be too small that you should be worried about it.


Nobody in their right mind, huh? Guess I'm crazy, because I prefer using Android over the iPhone (my iPhone is sitting sans-simcard on my desk right now).

Not only does the notification bar kick iPhone OS' notification scheme, and despite the low app volume on the market (I don't have /that/ many apps - and I didn't on the iPhone, either), I'm still lovin' my Android. It may just be the honeymoon period, though. (Got a SNES emulator running the other day - great for the commute. Disclaimer: I only have ROMs of carts that I have packed away in my closet)


>It's no skin off Apple's back for two reasons. First, you already paid for the device; they have your money.

App store.


I wonder if it could be done as a native app. iPhone runs FreeBSD, doesn't it? Java runs on that so you should be able to run Android.


iPhone runs iPhone OS, not FreeBSD. And Android is a Linux-based operating system, not a Java application.


The iPhone OS is based on Mac OS X which is (Unix, but also) BSD-like.

The rest of what you say and it's meaning is correct and unchanged though, of course :)


Wouldn't emulating the Android bytecode inside iPhone OS be the opposite of native?

This looks like it boots straight into the actual android linux, so it's about as native as you can get.


Jeez, does an honest question like this really deserve -4 votes?


-3 +3 now you are even ;)


Yup, Mach was intended to replace the BSD kernel, it + some of 4.3BSD kernel = XNU, which underlies OS X and iPhone OS.


similarly I thought, maybe they can chop off SpringBoard from a freshly jailbroken iPhone OS and replace it with the VM and its GUI. That'd be a significant saving in coding process.


Having actually ported Linux to a new platform...I'd honestly say I can't see live starting from an app actually being easier than booting from a bootloader.

Now: Making it so the bootloader can be installed as an app via an open source project and compiling for the developer program, now that's a worthy goal and intermediary step.


[deleted]


They'd be better off just making a better phone through HTC.


iPhone with an open App Store. I might like that!


Except you are now running Android instead of iPhone OS. You could just as well jailbreak the iPhone and use any of the multitude of open app stores for that.


The history repeats itself. Android is for ARM-based smartphones what Lunux was for intel-based commodity hardware.

Google is new Redhat, while Apple is new MS. =)

Now we're waiting for epidemic spread, fueled by new devices from several established vendors, like Motorola, Samsung, HTC, LG.

I'm personally can't wait for the Nexus Six. =)


I don't recall a time when Linux overtook Windows for desktop OS market share.


Yeah, if I were Google, I probably wouldn't be saying "Google is new Redhat, while Apple is new MS." to my shareholders.


Consider so-called Windows Server (NT, 200x) vs Linux.


Linux has had decent success on servers, but that's not really relevant to the consumer market. I think desktops (or laptops) makes a better comparison to mobile phones.




Consider applying for YC's W25 batch! Applications are open till Nov 12.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: