6 ms·
Nexus One. I'm surprised you're even asking. Fully Linux-friendly, hackable, powerful and doesn't have any crapware from carriers or hardware manufacturers. Buy
by old-gregg 16y ago
Nexus One. I'm surprised you're even asking. Fully Linux-friendly, hackable, powerful and doesn't have any crapware from carriers or hardware manufacturers. Buy it at full price and sign up for a $59/mo month-to-month plan from T-Mobile. Enjoy built-in tethering and guaranteed upgrade to the latest version of Android.
I own N1 and iPhone 4 and I believe that N1 is a superior phone. It doesn't need to be plugged to a computer for everything and as a phone it works much better on TMobile than iPhone does on AT&T: the reception is worse on the iPhone, it wouldn't accept MMS or SMS with non-English characters in 2010. WTF. The software (Android) is totally in a different league too: integration with Google calendars, maps and contacts is truly amazing, and you quickly get used to your phone automatically recognizing phone numbers and addresses in arbitrary text.
Another huge thing is Google Voice: you can dial any number straight from your address book without even worrying which country you're calling to, that's mind blowing to me (and I use it daily).
I bought both because we're doing software development for both, but I'm not proficient enough to comment on their APIs and programming environments. I do prefer Objective-C to Java though
- mahipal 16y agoThe choice of Java is one of the most mind-boggling things to me. There must be so many developers turned off of the platform because of it. Luckily, you can now distribute Python scripts as APKs (http://code.google.com/p/android-scripting/wiki/SharingScripts#Scripts_as_APK http://code.google.com/p/android-scripting/wiki/SharingScrip...).
- jonknee 16y agoWhat would you have chosen? Java is popular, featureful (have fun allocating memory with objective-c while working on iOS apps!) and fast. I'd bet that it got more people interested than turned off.
- tjstankus 16y agoJava is popular in the broad sense, but it doesn't seem to be very popular with the developers I know that are creating and interested in creating mobile apps.
- jonknee 16y agoIs that because they are iPhone users or because Objective-C is a better language for mobile development?
- woadwarrior01 16y agoProbably a combination of iPhone's traction and the general negative sentiment towards Java. I personally feel Objective-C is a good fit for mobile development, because its so easy to drop down to C at any time. And I'm sure I'm not the only one who thinks its conceptually simpler than Java (The Obj-C all just C structs and functions under the hood).
- tjstankus 16y agoI think it's general sentiment against Java, the language. Many I know, including me, have been there and don't want to go back. At the same time the JVM is a pretty interesting space for language runtime.
- falien 16y agoEven if its not well liked in the most tech forward circles that may be the most desirable audience for google, there should at least be familiarity with it. And I don't know about you but I can't think of any even halfway decent and plausible alternative google could have chosen.
- technomancy 16y ago> Java is popular, featureful (have fun allocating memory with objective-c while working on iOS apps!) and fast. More importantly, it's the most popular VM to target for new language implementations. You can use Rhino, Python, Lua, Scala, Scheme, Clojure, Fantom, Frink, and others on it.
- jacoblyles 16y agoWith a substantial speed penalty on Dalvik.
- technomancy 16y agoTrue in cases where code relies on Hotspot's server JIT and GC, but the fidelity of the JVM->Dalvik bytecode conversion is remarkable.
- orangecat 16y agoJava isn't ideal, but I much prefer it to ObjC. You can also "in theory" use any language that compiles to the JVM, like Scala: http://www.assembla.com/wiki/show/scala-ide/Developing_for_Android http://www.assembla.com/wiki/show/scala-ide/Developing_for_A... Thanks for the Python APK link, last time I checked you couldn't deploy standalone Python apps but now I can play with it.
- bitsai 16y agoIt's also possible to use Clojure on Android: http://riddell.us/ClojureAndAndroidWithEmacsOnUbuntu.html http://riddell.us/ClojureAndAndroidWithEmacsOnUbuntu.html ... although the impression I get from the stuff I've been reading is that there's a 3-4 second delay when starting up an app written in Clojure. There were hopes that Froyo will help in this regard, but I haven't been able to find any reports on that yet. My Nexus One should be arriving this week, so I guess I'll be finding out soon :)
- lzw 16y agoI submit that if you take the time to learn Objective-C you'll feel quite differently. I've learned many languages in my years, while neither Java nor Objective-C is my favorite language right now (erlang is, though I haven't used it for awhile) they both were at different points in my life. I hated Objective-C for the first week or two, then came to understand it, and saw how it was so much better than Java. Of course, Java means both the language syntax and the frameworks, and half of what makes Objective-C so great is the frameworks. Don't let syntax hang you up... you have to get over the syntax hassle to really understand a language. If you want "bad" syntax, look at erlang. That was tough, I had to force myself to learn it, but once I did, the syntax became a non-issue. Objective-C has every advantage Java does, but the converse is not the case.
- orangecat 16y agoI submit that if you take the time to learn Objective-C you'll feel quite differently. I've used ObjC for many years and released several Cocoa apps. The syntax isn't the problem; I actually rather like the brackets. Objective-C has every advantage Java does, but the converse is not the case. No garbage collection (on iOS at least), inherently unsafe, primitive types requiring silly [NSNumber numberWithInt:x] contortions, header files, no namespaces...
- amackera 16y agoGarbage collection, (now) JIT compilation, combined with Dalvik, plus lots of developers know the syntax. Not to mention you can use native code with the NDK. Java was a good choice in my opinion. I've done enough development for Android to love it, hate it, then love it all over again.
- myth_drannon 16y agoAdd also Actionscript 3 ,you can run Adobe Air on android Althought it's rather limited in what you can do.
- sandis 16y ago> it wouldn't accept MMS or SMS with non-English characters in 2010 That's odd. I used receive and send text messages in Latvian and Russian all the time and so do all of my friends. You should try to reinstall the iOS. Back to the flamewar: I recently got myself an Android phone and I'm not really happy with the Market application quality and the operating system itself. At this point it just isn't quite as polished as iOS is.
- ben1040 16y agoAnother huge thing is Google Voice I don't use Google Voice for outbound calls, but I absolutely love the voicemail features from Google Voice. I thought that visual voicemail on the iPhone was nice, but after switching to Android I realized the combination of the web interface and the onboard voicemail app on the phone is a huge winner. Also, to address the OP's concern about staying on AT&T, my AT&T band N1 seems to work like a champ. If you're not afraid of eBay, then I wouldn't think twice about getting one that would work on AT&T's 3G bands.
- ratsbane 16y agoI have an N1 and T-Mobile also and totally agree. My T-Mobile no-contract unlimited everything (minutes + text + internet, including tethering) is $79, not $59. It's listed on my bill as "FPEvenMorePlusUnlTTW." T-Mobile coverage does have weak spots but in the good areas tethering speed is > 4Mbps.
- heed 16y agoThe Individual Plan is $59/mo and the family plan you're on is $79/mo.
- ratsbane 16y agoNo, the Individual Plan with "Even More Plus (No Annual Contract)" is $79.99.: http://www.t-mobile.com/shop/plans/Cell-Phone-Plans.aspx?catgroup=Individual http://www.t-mobile.com/shop/plans/Cell-Phone-Plans.aspx?cat... The "Family Talk + Text + Web" with unlimited minutes and no contract is $139.99: http://www.t-mobile.com/shop/plans/Cell-Phone-Plans.aspx?catgroup=Family http://www.t-mobile.com/shop/plans/Cell-Phone-Plans.aspx?cat... At least, that's what I'm paying and that's what T-Mobile's site shows. If they're showing different prices in your part of the country please let me know and I'll reopen negotiations with them. With taxes and fees I pay $89.66/month. There's only one phone (the N1) on this account. [Edit] I did start thinking about this so I just called T-Mobile. The "FP" in the plan name stands for "Flex Pay," which in T-Mobile's world means you don't have a contract.
- heed 16y agoOh, you are quite correct, I was mistaken.
- Twisol 16y agoWasn't the N1 discontinued? http://google.com/phone http://google.com/phone says you have to be a registered developer to get one, and I don't plan on developing for it anytime soon.
- dannyr 16y agoBeing a registered developer is easy. http://market.android.com/support/bin/answer.py?hl=en&answer=113468 http://market.android.com/support/bin/answer.py?hl=en&an...
- jackowayed 16y agoBut you can only get the one with the T-Mobile 3G bands. So they'd have to switch to T-Mobile to really be happy http://news.ycombinator.com/item?id=1578310 http://news.ycombinator.com/item?id=1578310
- wwortiz 16y agoI'm pretty sure it is free to register as a developer, so there isn't really much of a hindrance in registering to get one.
- Twisol 16y agoFrom dannyr's link: "There is a one time $25 registration fee. We charge this fee to encourage higher quality products on the market"
- cheald 16y agoI'll second the Nexus One. It's a hell of a phone. I love it, and have recommended it to any of my friends that'll listen. I'll touch on the things I don't like about it, though, for the sake of comparison. - Not much internal memory. 512mb gets eaten up quickly by the OS and apps. That's alleviated somewhat by 2.2 allowing apps to be partially installed to SD card, but it's optional to the developer. It's not a huge complaint, but it is a complaint. - Weak GPU. This isn't a gaming phone. Hardware like the Galaxy S is a lot better in this regard - if you're wanting to play non-puzzle games, look elsewhere. The N1's Snapdragon apparently doesn't perform as well as the Hummingbird found in some other newer phones as well, despite having the same clock speed. That said, it's no slouch, and CPU speed is not generally something I can complain about. - The AMOLED screen washes out badly in sunlight. With 2.2's auto-adjust, it's usable in direct sunlight, but compared against SAMOLED or LCD screens, it comes up pretty short. - It's not as big as some other phones. This is personal preference - I'm a big guy and would like a larger phone, so depending on your preference, another form factor might be preferable. The EVO and Droid X are both very large phones (4.3" screen), and the Galaxy S is moderately large (4" screen), while the Nexus One is "only" 3.7". (The iPhone trails the pack at 3.5"). That said, those are the only things I don't like about the phone, and they are extremely easy to live with in general.
- chrismsnz 16y agoI agree with most of those, but I've never had any problems playing 3D games with my Nexus One. From Homerun Battle to Backbreaker football to that cool racing game I can't quite remember the name of - all run smooth.
- Sephr 16y ago> Weak GPU. Quake 3 runs fine at the highest settings on my Nexus One, and is very playable. The GPU is fine.
- pkulak 16y agoThe one thing that really sucks about all Android phones is how they scroll. It's _really_ distracting and makes reading long content pretty unsatisfying. Here's how it works: when you put your finger down on the screen it could be either a tap or the start of a scroll. The phone doesn't know at that instant which. It has to wait to make the call until there's been some amount of motion, about 1 or 2 cm, and until that time, the screen can't move (you don't want the screen bouncing around when you tap on things). So, when you start a scroll, when the phone actually knows it's a scroll, your finger has moved a couple cm but the screen hasn't. Android, for some damn reason, takes that instant to "catch up" to your finger, so that every time you scroll, the screen jerks up a line or two. No animation or anything. One frame it's down there, and the next it's up here. Try keeping your place when that happens, it's really annoying. There is another way to do it too. The iPhone just doesn't bother to catch up. It works great and seems like no more difficult to implement.