Maybe actually try developing an Android app or two. Throw in a full dose of intellectual honesty and then you can come back and tell us all if creating an XML based layout is intuitive or not. I'll be waiting.
The proof is in the pudding. Android itself and Android apps cosistently don't hold a candle to iOS apps in their functionality, usability and general quality.
The obvious culprit is the underlying over engineered misarchitecture and the resulting horrific APIs.
Silly me. Here I was thinking it had to do with the fact that there is much more money to be made developing for iOS so developers are going to target it first and hardest.
Case in point. For the very obvious and what should be mundane and simple task of communicating between activities you get this, http://developer.android.com/resources/faq/framework.html#3, various different ways of saying "use globals".
That article is a hit piece. The video is of a site loaded down with flash. Flash is enabled on the Nexus S and not on the iPhone. The site could be buggy in other ways too. This anecdote means nothing as the Nexus S outperforms the iPhone 4 on many other sites.
I looked at the implementations of the alternative to many of the Collections classes in particular, and they had nothing in them that suggested they were "better suited to mobile devices". And I'm not going to dig through the API docs, but they were certainly no improvement on the equivalent Java classes, and I recall them often being less intuitive.
The use the Java classes. Why complain about choice?
I know you can construct your UI directly in code, but virtually all the documentation I have seen assumes you'd never want to do that and omits coverage of it. Hence why I said the XML format was presented as "the preferred way".
Yes, because the XML way is going to be easier and more intuitive for many people. For the hardcore olde thymers such as yourself, you can use Java. Again, the choice is yours.
The process is exactly the same as when the app is explicitly shutdown by the user or the app developers code, so it is true. That's why you have to store the current state of the application, as you allude to in your comment.
No, it most assuredly is not. Android apps are not like desktop apps. The lifecycle is totally different and more suited to an "on-the-go"/everything runs fullscreen device. onCreate initializes the logic of your activity and it is called once when that activity is first run. When you shut down an app explicitely, it calls onCreate when you go back to it. When you rotate the screen, it calls onPause and onResume so that your portrait layout (for example) isn't just jumbled together and resized for landscape. You can have a completely different layout for the two modes. Or you can just use onPause and onResume to fill form data back in and to hell with having multiple layouts. When the screen is rotated, everything done in onCreate is maintained that includes all variables, etc. You save form data with onPause and refill it with onResume. It's trivially easy and in the context of the system makes sense. I'm not a teacher, I'm a programmer so my explanation likely sucks. My suggestion is you read this.
Well, if you feel it's more than just adequate then I dread to think what your own code looks like.
Because I disagree with you and think Android is an elegant system to develop for, that means my code sucks? I'm sorry, who are you and what are your credentials again that I should just slavishly follow what you say? When you can give me compelling reasons for why Android supposedly sucks (and you haven't), I'll believe it. So far, you've just given biased opinions based on your impressions of a platform that you don't code for and obviously don't have any real intentions of even giving a fair chance. With that attitude of inflexibility, I'd really hate to see your code.
The API is horrible - standard Java classes replaced by poorly designed alternatives for no apparent reason
So your rationale is that the API is horrible because they added in some bespoke classes? In the platform developer's opinion, those classes are better suited to mobile devices. But, guess what, you don't even have to use them. What Java classes did they "replace" that aren't still there? I haven't found anything in particular that has been replaced, they just gave you the option of using the newer stuff. The analagous Java class is still there. And how are the new classes poorly designed?
those horrible XML files as the preferred way of designing a UI
Er, if you don't want to use XML files to do your UI, you don't have to. You can use pure Java all day long. Besides, the XML files are exploded into Java on the device anyway. You use the XML to quickly design the static elements of your UI and use Java code to do the interactive stuff. What is there to bitch about?
When I got to the bit in the tutorials about apps being forcibly restarted when the orientation changes I cried with laughter.
This is not even true. The activity does not "restart", the ui reinitializes to use the layout prescribed for that particular orientation. You don't want a long list of single column buttons in landscape, you want them more logically laid out so the UI for the activity restarts. It is trivially easy to keep all of the ui data like form contents, etc. and reinsert it into the layout when the screen rotates and it happens instantly so the user isn't even remotely aware. Poor app developers that don't take the very small amount of time to make this happen is what gives it a bad rep.
It feels a proof of concept rather than a polished development platform
Nothing you've said supports this conclusion. The points you make are what I would expect from someone that is looking for a reason to hate before he's even given the platform a chance.
Many people have multiple devices between cell phones, tablets, laptops, desktops, etc. and I have never heard anyone seriously say they would give up the utility of the different devices just so they didn't have to sync their documents. Android offers a ton of functionality that just doesn't exist in WebOS and for me that far outweighs the small inconvenience of putting Android on a touchpad entails. Not to mention things like Dropbox and Google Docs alleviates much of the burden of synchronization anyway. Worrying about mirroring settings between Android and WebOS is really a non-issue. That's like worrying about your settings between Windows and an iPad. The two don't map.
So it's a 'piece of shit' because it doesn't support adhoc networking?
That's one reason. Another reason is the constant need to orientate it between horizontal and vertical to enter in a url. Also, the shit performance of third party app scrolling. And on and on.
That's not the OS,
No, it's the browser that comes with the OS. Which is a piece of shit.
And the same as the fact that the Android browser's horrible implementation of text reflow that clips inline images and doesn't resize them is not the fault of Android itself.
So, Android reflows and IE on wp7 doesn't. Thank you for verifying how shit your precious is.
Well, this is awkward as I bought aapl at 72 dollars a share and believe despite Steve Jobs' demise that they are still probably the best large tech company out there. Never let emotion taint in your investment strategy.
Give the Nightly a chance. It features a real tablet interface that utilizes the action bar on honeycomb and when its in landscape mode, the tab thumbnails are always visible. I love it!
Yeah, sure, man. ics which is expected by many to be the best Android yet is going to come out pushing the already stupendous amount of momentum Google already has in mobile even further and then they are just going to fizzle out in a few short months. Er, yeah. Do you have any particular stock picks so I'll know who to short?
I know that and you know that but the guy I quoted (hairyfeet) who misses no opportunity to knock Linux and insult its users seems to have missed it. The guy is a moron and I thought it appropriate to immortalize his words just above the second part of my sig.
For anyone who hasn't used Mango, it's an incredibly stable feature-rich platform which deserves a look.
I have an HD7. It is a piece of shit and sits in my drawer at home. My Samsung Vibrant with Cyanogenmod walks all over it in functionality as well as aesthetics. Wake me up when Windows Phone Vista supports ad-hoc networking so I don't have to put my sim in it everytime I want to use that piece of shit. Also, nudge me when it supports text reflow when I zoom in with the browser. What a piece of trash.
Expect various pundits to say it's horrible and that no one should want to live that long.
I say gift them a loaded.357 magnum on their 80th birthday. When they're "tired o' livin'", they'll know what to do. See how many actually take you up on it.
Read my reply to myself.
Maybe actually try developing an Android app or two. Throw in a full dose of intellectual honesty and then you can come back and tell us all if creating an XML based layout is intuitive or not. I'll be waiting.
The proof is in the pudding. Android itself and Android apps cosistently don't hold a candle to iOS apps in their functionality, usability and general quality. The obvious culprit is the underlying over engineered misarchitecture and the resulting horrific APIs.
Silly me. Here I was thinking it had to do with the fact that there is much more money to be made developing for iOS so developers are going to target it first and hardest.
Case in point. For the very obvious and what should be mundane and simple task of communicating between activities you get this, http://developer.android.com/resources/faq/framework.html#3, various different ways of saying "use globals".
Assuming you understand how intents work, how is
a global in any conceivable way?
The implications of your post sadden me.
There are millions of phones that do those things and never get upgraded.
That article is a hit piece. The video is of a site loaded down with flash. Flash is enabled on the Nexus S and not on the iPhone. The site could be buggy in other ways too. This anecdote means nothing as the Nexus S outperforms the iPhone 4 on many other sites.
I looked at the implementations of the alternative to many of the Collections classes in particular, and they had nothing in them that suggested they were "better suited to mobile devices". And I'm not going to dig through the API docs, but they were certainly no improvement on the equivalent Java classes, and I recall them often being less intuitive.
The use the Java classes. Why complain about choice?
I know you can construct your UI directly in code, but virtually all the documentation I have seen assumes you'd never want to do that and omits coverage of it. Hence why I said the XML format was presented as "the preferred way".
Yes, because the XML way is going to be easier and more intuitive for many people. For the hardcore olde thymers such as yourself, you can use Java. Again, the choice is yours.
The process is exactly the same as when the app is explicitly shutdown by the user or the app developers code, so it is true. That's why you have to store the current state of the application, as you allude to in your comment.
No, it most assuredly is not. Android apps are not like desktop apps. The lifecycle is totally different and more suited to an "on-the-go"/everything runs fullscreen device. onCreate initializes the logic of your activity and it is called once when that activity is first run. When you shut down an app explicitely, it calls onCreate when you go back to it. When you rotate the screen, it calls onPause and onResume so that your portrait layout (for example) isn't just jumbled together and resized for landscape. You can have a completely different layout for the two modes. Or you can just use onPause and onResume to fill form data back in and to hell with having multiple layouts. When the screen is rotated, everything done in onCreate is maintained that includes all variables, etc. You save form data with onPause and refill it with onResume. It's trivially easy and in the context of the system makes sense. I'm not a teacher, I'm a programmer so my explanation likely sucks. My suggestion is you read this.
Well, if you feel it's more than just adequate then I dread to think what your own code looks like.
Because I disagree with you and think Android is an elegant system to develop for, that means my code sucks? I'm sorry, who are you and what are your credentials again that I should just slavishly follow what you say? When you can give me compelling reasons for why Android supposedly sucks (and you haven't), I'll believe it. So far, you've just given biased opinions based on your impressions of a platform that you don't code for and obviously don't have any real intentions of even giving a fair chance. With that attitude of inflexibility, I'd really hate to see your code.
The API is horrible - standard Java classes replaced by poorly designed alternatives for no apparent reason
So your rationale is that the API is horrible because they added in some bespoke classes? In the platform developer's opinion, those classes are better suited to mobile devices. But, guess what, you don't even have to use them. What Java classes did they "replace" that aren't still there? I haven't found anything in particular that has been replaced, they just gave you the option of using the newer stuff. The analagous Java class is still there. And how are the new classes poorly designed?
those horrible XML files as the preferred way of designing a UI
Er, if you don't want to use XML files to do your UI, you don't have to. You can use pure Java all day long. Besides, the XML files are exploded into Java on the device anyway. You use the XML to quickly design the static elements of your UI and use Java code to do the interactive stuff. What is there to bitch about?
When I got to the bit in the tutorials about apps being forcibly restarted when the orientation changes I cried with laughter.
This is not even true. The activity does not "restart", the ui reinitializes to use the layout prescribed for that particular orientation. You don't want a long list of single column buttons in landscape, you want them more logically laid out so the UI for the activity restarts. It is trivially easy to keep all of the ui data like form contents, etc. and reinsert it into the layout when the screen rotates and it happens instantly so the user isn't even remotely aware. Poor app developers that don't take the very small amount of time to make this happen is what gives it a bad rep.
It feels a proof of concept rather than a polished development platform
Nothing you've said supports this conclusion. The points you make are what I would expect from someone that is looking for a reason to hate before he's even given the platform a chance.
Many people have multiple devices between cell phones, tablets, laptops, desktops, etc. and I have never heard anyone seriously say they would give up the utility of the different devices just so they didn't have to sync their documents. Android offers a ton of functionality that just doesn't exist in WebOS and for me that far outweighs the small inconvenience of putting Android on a touchpad entails. Not to mention things like Dropbox and Google Docs alleviates much of the burden of synchronization anyway. Worrying about mirroring settings between Android and WebOS is really a non-issue. That's like worrying about your settings between Windows and an iPad. The two don't map.
You do realize it is a dual-boot scenario, right? Are you really that much of a curmudgeon?
So it's a 'piece of shit' because it doesn't support adhoc networking?
That's one reason. Another reason is the constant need to orientate it between horizontal and vertical to enter in a url. Also, the shit performance of third party app scrolling. And on and on.
That's not the OS,
No, it's the browser that comes with the OS. Which is a piece of shit.
And the same as the fact that the Android browser's horrible implementation of text reflow that clips inline images and doesn't resize them is not the fault of Android itself.
So, Android reflows and IE on wp7 doesn't. Thank you for verifying how shit your precious is.
Shut the fuck up, whiney bitch.
you haters miss no opportunity to twist the truth. you are sad and pathetic.
Well, this is awkward as I bought aapl at 72 dollars a share and believe despite Steve Jobs' demise that they are still probably the best large tech company out there. Never let emotion taint in your investment strategy.
I'm not a particular fan of noscript but greasemonkey however is a different story and it works on Firefox on android. that seals it for me but ymmv.
Sorry! Here's the link. http://ftp.mozilla.org/pub/mozilla.org/mobile/nightly/latest-mozilla-central-android/fennec-10.0a1.multi.android-arm.apk
Give the Nightly a chance. It features a real tablet interface that utilizes the action bar on honeycomb and when its in landscape mode, the tab thumbnails are always visible. I love it!
Absolutely on the greasemonkey notion. Firefox on my Xoom supports it and I wouldn't browse any other way!
Yeah, sure, man. ics which is expected by many to be the best Android yet is going to come out pushing the already stupendous amount of momentum Google already has in mobile even further and then they are just going to fizzle out in a few short months. Er, yeah. Do you have any particular stock picks so I'll know who to short?
I'm just telling you what will happen.
Don't bogart that crystal ball, my friend. What? You don't actually have one? You're talking out of your ass? Well, just, damn.
I like it!
I know that and you know that but the guy I quoted (hairyfeet) who misses no opportunity to knock Linux and insult its users seems to have missed it. The guy is a moron and I thought it appropriate to immortalize his words just above the second part of my sig.
For anyone who hasn't used Mango, it's an incredibly stable feature-rich platform which deserves a look.
I have an HD7. It is a piece of shit and sits in my drawer at home. My Samsung Vibrant with Cyanogenmod walks all over it in functionality as well as aesthetics. Wake me up when Windows Phone Vista supports ad-hoc networking so I don't have to put my sim in it everytime I want to use that piece of shit. Also, nudge me when it supports text reflow when I zoom in with the browser. What a piece of trash.
And that growth will come mostly at the expense of Android, so it will be a very interesting year ahead...
Keep dreaming.
Expect various pundits to say it's horrible and that no one should want to live that long.
I say gift them a loaded .357 magnum on their 80th birthday. When they're "tired o' livin'", they'll know what to do. See how many actually take you up on it.