Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

An Android Developer's Top 10 Gripes

kdawson posted more than 4 years ago | from the praising-by-faint-damns dept.

Cellphones 272

gkunene writes in with the plaint of a veteran mobile application developer who vents his frustration with a list of 10 things he loves to hate about Android. "1. Open Source. Leave it to Google to place all the code for their handset platform in the hands of the masses. Not only does this mean anyone can download and roll a new version of their phone firmware, but it also means absolutely any maker can roll its own Android device. ... After all's said and done, I really must admit that Android, despite its relatively few flaws, is one of my favorite platforms to work with. Quite honestly, if my complaint about how the word 'Intent' makes for awkward grammatical constructions ranks in the top 10, I'd say the Android platform is doing pretty well for itself."

cancel ×

272 comments

Sorry! There are no comments related to the filter you selected.

What? (5, Insightful)

MortenMW (968289) | more than 4 years ago | (#30735916)

Disclaimer: I actually read the FA (yes, I know this is slashdot). This guy is angry because, amongst other things, Google has made 40% of his debugging skills useless. Apperantly, his problem is that this means that other people without his "superskills" can develop software for Android.

Re:What? (0)

Anonymous Coward | more than 4 years ago | (#30735932)

Most of what he said seems to be more of a sarcasm than a complaint.

Open source? running in your microwave? You should be happy - more money for you.

Re:What? (3, Interesting)

dkleinsc (563838) | more than 4 years ago | (#30735992)

He does have one very legitimate concern, and that is that the platform can easily be forked, potentially ending up in a situation like old-style Unix, where each vendor had different incompatible versions of Unix (HPUX, AIX, etc).

That said, most of his other stuff sounded like "You're making it way too easy to use to create applications!"

Re:What? (0)

Anonymous Coward | more than 4 years ago | (#30736128)

He does have one very legitimate concern, and that is that the platform can easily be forked

So call me when this "disaster" actually happens.

Re:What? (3, Funny)

delinear (991444) | more than 4 years ago | (#30736606)

He will, so long as his phone's not forked.

Re:What? (1)

ZeroExistenZ (721849) | more than 4 years ago | (#30736306)

"You're making it way too easy to use to create applications!"

Well, isn't that the point?

I've developed on Android the last weeks, because I felt the challenges this summer creating apps are mainly "teensoftware", which is great in alot of dimensions (getting people interested in programming, there's alot of progamming work out there, stop making people wan ting to get lobotomies because you "set your job safe" by writing hard to maintain code) but that teensoftware, doesn't scratch my itch.

Teens and likes don't know the needs of people in the workingforce or businesses and that's where you have your targetaudience if you want to get serious on mobile development. (I know some government projects working on augmented reality software, which is pretty cool. But that's also not where my focus is.)

Concerning the "ease", it took some thought to get performance right in my applications and generics aren't that easy as in .NET. There's some more thought required and the debugger might be nice but .NET started to feel like playing with playdoh compared to receiving a bag with sand and a cup of water.

I wonder what the purpose of IT and development is, is it coming to a solution or is it messing on the way to a solution? I know I get more out of delivering something then maintaining a mess or constantly being "almost done".

Easy of development is something that you should be happy about, you're a programmer above a procrastinator or even a sadomasochist, right?

Re:What? (0)

Anonymous Coward | more than 4 years ago | (#30737268)

basically it all sums up to point 10 of tfa: android is not iphone. booo booo call me a whaaambulance.

Re:What? (4, Insightful)

LWATCDR (28044) | more than 4 years ago | (#30737098)

Not really.
He hates Java. A lot of people seem to feel that way. I actually like Java more than say c++ because I find the Java object model has a less of a tacked on feel.
The big problem is that he doesn't like the "fragmentation" which is a valid concern for a developer. You have a number of different screen sizes to deal with, you have a number of different cpus that run at differn't speed to deal with you way to many different versions to deal with, and you have what ever custom sillyness that the vendors may put in to deal with.
On thing that is very nice for developers about the iPhone is that it is a very consistant controlled enviroment. It is much more like developing for say a game console than for a PC. That makes hidden gotchas less of an issue.
Android is a lot more like a PC.
So you are half right.
Android makes it way to easy to build simple apps but makes t more difficult to produce top notch professional apps than the iPhone does.
How true that is I don't know since I have yet to dive into the Android SDK but even now I wonder which SDK do I write too? 1.5 which seems to be the most common. 1.6, 2.0, or do I leap to 2.1 and hope everybody updates by the time my app is done?
It is EXTREMELY annoying that there are so many different versions of an OS all of which are shipping on phones right this second!

Re:What? (1)

poetmatt (793785) | more than 4 years ago | (#30736056)

If you're focusing on his one lanky point, then you're missing the point of the article: which is that a LOT of things are messed up on android.

In reality he is concerned about google's lack of actual open source - since apache is like BSD license, guess what happens? The important pieces are kept proprietary in the code, and that creates problems.

the other programming issues and google quirks were equally very accurate. Fragmentation and having piss poor hardware except for a couple phones is also an issue.

From the G1 in comparison to every android phone since and the nexus one of now, every phone has been basically creeping closer to iphone performance...now they finally have better hardware, but on a shitty touchscreen.

Google has a lot to fix, and I don't know the answers. Open sourcing their maps and other currently locked down apps would be a good start.

Re:What? (1, Informative)

Aranykai (1053846) | more than 4 years ago | (#30736152)

Shitty touch screen? Sounds like you haven't actually used one yet. HTC screens are pretty much the best out there.
Disclaimer, have spent an hour with a friend's Nexus and this post was composed on my Hero.

Re:What? (0, Flamebait)

Threni (635302) | more than 4 years ago | (#30736326)

You must have missed the recent story about how they don't seem to be as accurate as the iPhone screen.

Re:What? (0)

Anonymous Coward | more than 4 years ago | (#30736388)

Doesn't mean they are shitty... I use one everyday with no problems. I never have to draw *perfectly* straight lines... I dunno about you.

Re:What? (-1, Flamebait)

PopeRatzo (965947) | more than 4 years ago | (#30736630)

You must have missed the recent story about how they don't seem to be as accurate as the iPhone screen.

You meant to say "..the recent Apple FUD about how they don't seem to be as accurate..."

Re:What? (1, Troll)

TheKidWho (705796) | more than 4 years ago | (#30736742)

Apple? The test was done by Motorola!

Re:What? (0)

Anonymous Coward | more than 4 years ago | (#30736632)

Well it must be true if you read a story about it somewhere. I own a Motorola Droid as well as an iPod touch. The touch screens are equally functional. Neither is better than the other. They both work great.

Re:What? (1)

drb_chimaera (879110) | more than 4 years ago | (#30736800)

However, "touchscreen not as accurate as iPhone" != "Shitty touchscreen". In a lot of ways I prefer the screens on the current crop of Android phones. Based on limit experience I've not noticed any difference in sensitivity in real world use, but prefer the higher res and image quality on the newest Android phones.

Re:What? (0, Redundant)

MikeBabcock (65886) | more than 4 years ago | (#30736928)

And Corvettes aren't as fast as Vipers.

Re:What? (1)

happy_place (632005) | more than 4 years ago | (#30736074)

Yeah, this article is as much a critique as the guy who answers the job interview question "Name your biggest weakness" as "I love my work too much, and will dedicate all my time to it, and often will work long weekends because I just can't help loving work so much."

Re:What? (1)

mcgrew (92797) | more than 4 years ago | (#30736124)

1. Open Source. Leave it to Google to place all the code for their handset platform in the hands of the masses

More evidence that opensource=fewerbugs? The statement I quoted suggests the guy is an elitist. I'm not going to RTFA as it'll probably piss me off. No wonder Microsoft hates open source so much. Is this guy primarily an MS dev?

Re:What? (5, Insightful)

davek (18465) | more than 4 years ago | (#30736364)

Sounds to me that he's searching for things to have a problem with, and fully admits it. At the very end of the article, he responds to
his own point 7, where he complains about the grammatical heresy of the Android programming concept of "Intents":

Quite honestly, if my complaint about how the word 'Intent' makes for awkward grammatical constructions ranks in the top 10, I'd say the Android platform is doing pretty well for itself.

If "good debugging" and "poor grammar" are two of the top ten worst points about the platform, then I'd consider it quite a positive article.

Re:What? (1)

furby076 (1461805) | more than 4 years ago | (#30736594)

Disclaimer: I actually read the FA (yes, I know this is slashdot). This guy is angry because, amongst other things, Google has made 40% of his debugging skills useless. Apperantly, his problem is that this means that other people without his "superskills" can develop software for Android.

I actually thought he was being facetious, more along the lines of "Darn you for buying me that lottery ticket that made me a millionaire". Though if he billed hourly he is probably annoyed because he has 40% less work :)

Re:What? (1)

MrNaz (730548) | more than 4 years ago | (#30736828)

40% less work != 40% less billable hours. I envy you, you've obviously never met a lawyer.

Re:What? (1)

Ash Vince (602485) | more than 4 years ago | (#30737076)

Disclaimer: I actually read the FA (yes, I know this is slashdot). This guy is angry because, amongst other things, Google has made 40% of his debugging skills useless. Apperantly, his problem is that this means that other people without his "superskills" can develop software for Android.

I don't think much of his article should be taken seriously. He makes some very valid points but most of it is written to be very tongue in cheek. In other words, he does not really sound very angry. He even mentions at the end of the article that Android is one of his favourite platforms to develop for.

Unix way (4, Insightful)

Nikademus (631739) | more than 4 years ago | (#30735930)

"Android, by contrast, pushes you to design everything as small, self-contained mini-applications."

Hey, that's called the Unix way.

Re:Unix way (0, Troll)

dunkelfalke (91624) | more than 4 years ago | (#30736100)

which was fine for terminal applications 30+ years ago.

Re:Unix way (1)

Nikademus (631739) | more than 4 years ago | (#30736156)

And is still in use nowadays.

Re:Unix way (4, Insightful)

dunkelfalke (91624) | more than 4 years ago | (#30736184)

But then again, so is Cobol.

Re:Unix way (3, Funny)

djdavetrouble (442175) | more than 4 years ago | (#30736684)

Stop you guys, I am running out of paper rolls on my teletype.

Re:Unix way (1)

drooling-dog (189103) | more than 4 years ago | (#30736398)

which was fine for terminal applications 30+ years ago.

...or when you need to get a lot of things done in a hurry and without fanfare.

Re:Unix way (4, Insightful)

lokedhs (672255) | more than 4 years ago | (#30736464)

And is still fine for mobile devices almost 40 years later.

Imagine that, a software design decsision that worked. It's almost like the people who designed Unix were smart guys who knew what they were doing. Who would have though it?

Re:Unix way (1, Funny)

dunkelfalke (91624) | more than 4 years ago | (#30736572)

Yeah. I love using command prompt on a touch screen only device. It really makes me productive.

Re:Unix way (1)

Hurricane78 (562437) | more than 4 years ago | (#30737072)

Stupid non-argument. Just because every desktop environment for Linux epically failed in transporting the Unix philosophy to the graphical desktop, that does not mean that it is bad. Quite the opposite, since those “monolithic applications, task bar and windows” environments are really crappy to what proper a Unix GUI would have meant.

First imagine a couple of applications. E.g. a word processing app, a drawing app and a address database. Now imagine every function it has, split into its own tiny module. Now put them into two groups: First the property changers, and second the tools/wizards/transformations. The first ones are not real functions.
Now imagine a generic properties frame, with all the properties of the current node of the current document in it.
And another generic tools frame, with all the real functions in it.
Now if you select a tool, the properties dialog will show its properties too, because it is just as much a file.
You could also pipe those tools together, to make new tools.
And there are cascading property classes, just as the cascading style sheets in CSS. Which can also be baked into these new tools.
In fact every command line application can become a tool with its own properties and accepted in and out interfaces, by just writing a small description file for it. Which often could even be partially automated by parsing the man page. (Maybe the future man page format would automatically integrate this information.)

Finally, everything you do in this interface would show in a riseable console on the bottom (or top) of the screen. And you could just mark a couple of lines, and drag it into the tools frame, to create a new tool, to create a (shell) script. Then of course, you could modify that thing, add flow control constructs and parameters, etc. (Like you can in Maya.)

One could even go so far as to have different UIs (views and controllers) to show files (in frames). And different codecs (parsers and writers).

Now tell me that is not much more powerful and nice than what we have now?
It would be incredibly easy to extend a application. Even for non-programmers. To grow his own individual environment, fitting his needs.
Because that application would be nothing more than a set of tools and property-to-parse-tree mappings.
And for those who really just want to use the system, and not become experts, one can create nice downloadable presets and collections of tools. Which means they are not left out on the individualization and can also work efficiently.

P.S.: If this got you motivated to implement such a system, contact me first, since I don’t want us doing double work, and this is only the tip of the iceberg, which means I don’t want you building some half-assed solution. :)

Re:Unix way (1)

dunkelfalke (91624) | more than 4 years ago | (#30737262)

It is more powerful alright. But it is also a mess of layers ontop of layers which makes the system slow and unrespondable because of the huge overhead. It is also like a huge corporation with lots of management layers - clearly arranged when looking at the whole, but difficult to understand from inside and very slow. It is IMHO more efficient to combine the small modules in a larger and more generic ones.

But as I already mentioned, it is just an opinion.

Re:Unix way (1)

dissy (172727) | more than 4 years ago | (#30736492)

which was fine for terminal applications 30+ years ago

Which is why Windows Mobile has really over taken the market with its lack of modularity and all of it's custom development targeted specifically to the platform... Oh wait

Re:Unix way (1)

dunkelfalke (91624) | more than 4 years ago | (#30736528)

In lots of markets it really has. I am working in the field of vehicle telematics and Windows CE/Mobile is huge in this market. Also, before iPhone Windows Mobile had a huge chunk of the PDA phone market for years.

Re:Unix way (1)

blueskies (525815) | more than 4 years ago | (#30736644)

and people used to use keyboards back then too!

Re:Unix way (1)

D Ninja (825055) | more than 4 years ago | (#30736744)

...or for recent operating systems such as OSX, Linux, BSD, etc. Plus, a GUI does not necessarily mean "huge mammoth application," so the idea of these mini-applications is not just limited to terminal apps.

The idea of having modular, small applications is a much better one than the mammoths that we sometimes see in the application world. I don't know if you're trolling, or what, but small, self-contained, mini-applications that do one thing and one thing well really is a better way (for the most part). A smaller application is easier to test, easier to debug, makes it possible to swap out one small part for another small part, and, by bringing all those small parts together, you can CHOOSE to have a mega-application. However, if you don't want a mega application, you can also choose to only have the small parts you need.

It really is a nice way of doing things.

Re:Unix way (1)

gandhi_2 (1108023) | more than 4 years ago | (#30736946)

Large programs, built using small tools that do one thing and do them well, with simple and well-defined inputs and output, with orthagonal effects on the rest of the system....the Unix way...are the most successful, stable, and easily updated systems in use.

Your UID leads me to believe you've read The Art of Unix Programming by Eric S Raymond....did your brain fall out since then?

Re:Unix way (3, Insightful)

dunkelfalke (91624) | more than 4 years ago | (#30737114)

I've grown up a bit since then and had to develop for Linux not as a hobby but for money. Nowadays I prefer less work and more comfort to be honest.
Unfortunately honesty gets a -1 Troll here nowadays.

Re:Unix way (2, Informative)

fredrik70 (161208) | more than 4 years ago | (#30736350)

Indeed, the cool thing is that Activities can be shared between processes, My app, for example, can for example make use of Google's picture browsing or the google map activity , no need to write one myself.
Activities are placed on a stack, so when the user hits the back button to leave the 3rd party activity they are returned to my activity

Re:Unix way (1)

MikeBabcock (65886) | more than 4 years ago | (#30736944)

The first time I read how this works, I had memories of Windows OLE and hoping this time it would be done right. It looks like it has, for the most part. The activity paradigm works very well so far and is very handy to writing good small stable code.

Re:Unix way (1)

Aqualung812 (959532) | more than 4 years ago | (#30737218)

My app, for example, can for example make use of Google's picture browsing or the google map activity , no need to write one myself.

Interesting. How does Android protect against a rouge app stealing my Google contacts and mass-mailing out Google mail?

Re:Unix way (1)

numbski (515011) | more than 4 years ago | (#30736366)

I know there's at least one open source project that does what OSX does with it's .app bundles, but I'm really surprised that the .app way of packaging applications for drag-and-drop use hasn't caught on with the rest of the Unix-like OS community. The only reason I can think of off-hand is the architecture concerns - x86 vs x86-64 vs ppc vs arm, etc, but we already live with this today using things like apt and yum. Disk space is cheap, and largely, so is bandwidth. I really don't mind having 10 copies of a library so long as they're known to work with whatever version of application x I have, but not screw with application y. For userland applications, it would completely obliterate the concern for dependencies. The downside of course is that instead of `aptitude update && aptitude upgrade` going through and updating *everything* for you, you now have to either have your applications phoning home to check for new versions or the user has to keep up with the latest version themselves (a la VersionTracker for OSX).

I prefer unix personally, and all of my machines are some flavor of it - but man it would push adoption if applications where able to be installed by simply downloading, drag-and-drop. Either that or have it possible via a link to launch Synaptic and start the installation from the program's website. For the user's part, you've now actually made installation *easier* than Windows but the steps involved are similar.

Actually - that latter idea, has it already been implemented? If not, I need to go submit some enhancement requests. :P

Re:Unix way (1)

andreasg (1010787) | more than 4 years ago | (#30736484)

The only thing it would take to have .app packaging in Linux would be to have the desktop environment file manager (in Gnome for example, Nautilus) recognize them. They don't need to be supported by the OS at a lower level in any way. Now I can't code C, but I bet it could be hacked into Gnome in a few hours. Then you could have people distributing apps like that right away.

Re:Unix way (1)

entrigant (233266) | more than 4 years ago | (#30736636)

Everything you just described has been available in a myriad of forms on several distributions for years. The .app bundle might as well be a rpm, details like where the installed files go are just details with good package management.

Also, any decent distribution will setup mime types so that a click on a package on a website will bring up the installer. Some have taken it further than that, e.g. OpenSUSE with their 1 click installs from their build service. Search. Click. Done.

Re:Unix way (1)

Goaway (82658) | more than 4 years ago | (#30736614)

And look how popular that is. Hardly anybody adheres to it, even on Unix itself.

Re:Unix way (5, Insightful)

HunterD (13063) | more than 4 years ago | (#30737126)

Simplicity is hard. Programming the Unix way requires a person to focus on radical simplicity. The benefits are huge. It's a lot easier to debug a 200 line program that takes data in on stdin and dumps it to stdout then it is to debug a class that you can only instantiate with your AbstractFactoryFactory.

The mistake that younger developers make is seeing complexity as hard, and representing mad skillz.

When you have a complex problem that you need to solve, it's /easy/ to make a complex mess with awesome hacks that only you can figure out. It's *hard* to solve that complex problem by building simple programs that even the most junior programmers can easily read, interpret and debug. IMHO, complicated designs are a sign of inexperience, not '1337ness'.

And still ... (2, Interesting)

Zarf (5735) | more than 4 years ago | (#30735934)

... even with these valid gripes I can't imagine developing on any other platform available for the cell phone. The "Intent" is an odd term but the concept it powerful. Java is a pain but it is accessible. Most of the platform complaints deal with the novel programming style Android uses. It's an event based style with an MVC-esque pattern. Very unusual. Perhaps unusual in a good way.

Misses the point entirely (0, Offtopic)

For a Free Internet (1594621) | more than 4 years ago | (#30735948)

This guy is part of the Italian-Mexican conspiracy to use G$$Gle phone radio signals to turn Americans away from GOD and make us into demonic zomby robotes. So what if he gripes about the small stuff, the better to cover up G$$Gle's genocidal plan for world Italianizm.

kdawson? (-1, Troll)

dangitman (862676) | more than 4 years ago | (#30735968)

Yeah, you might want to go and die in an (Open Source) fire. Thanks for all the wonderful misleading summaries, dickbag.

dumb article/crappy developer (1, Insightful)

El_Muerte_TDS (592157) | more than 4 years ago | (#30736026)

Point 1. Open Source
As the submitter also pointed out. I don't see any problem with the Apache Software License 2.0 licensed Open Source code of Android. How is that a developer gripe? APL2 allows you to close whatever you want to keep closed.

Figuring out when it's okay to include one of those in your own application requires a crack legal team with a hotline to the EFF.

Actually, that's quite simple. It's ok when Google (the copyright holder) says it's ok, otherwise it's not.

Point 2. The Tyranny of the Activity

Android, by contrast, pushes you to design everything as small, self-contained mini-applications.

That sounds a bit like the old UNIX principle. And what's wrong with having applications that do small things and do it well. I don't want a picture application with it's own twitter functionality, I have a proper twitter client for that. etc.

Point 3. Device Debugging

Why do I hate this extremely useful tool? I hate it because it makes about 40% of my debugging skills nearly useless!

Ok.. so... this article is an humor piece instead of a real article/rant? Or is the writer simply a moron?

Point 4. Applications Never, Ever Quit

but your icon stays in the list of running tasks

Maybe this is a new feature in Android 2.x. But the list of applications you get when holding down the home button is not "running applications" but simply a list of recently started applications. When I leave an application and it has no active processes then it won't show up in the process list. So, I'm quite sure it's not running.

Point 5. The Developer Cooperative
Yes, it would be very nice if the end-user could define system resource limits for individual applications. But other than that, I don't want artificial limitations enforced by the OS by default. Some application simply need more resources than others. If an application is crap, I will uninstall it. Just like I do on my normal PCs.

You know what... I'm not even interesting in the other 5 points on the second page.

Re:dumb article/crappy developer (2, Insightful)

FlyingBishop (1293238) | more than 4 years ago | (#30736086)

Point 4. Applications Never, Ever Quit

Actually, this is a developer sin. Pandora does in fact have a functioning quit button (alone among all the apps I have tested. And there are a variety of task killers. The lack of a built-in task killer is a really stupid design flaw in Android, but applications can quit.

Re:dumb article/crappy developer (0)

Anonymous Coward | more than 4 years ago | (#30736208)

Applications _do_ quit, by themselves, when the OS tells them to; the quit buttons you see in games and apps are usually there because they want to override the back button to stop you backing out of the app the way every Android app should.

Re:dumb article/crappy developer (1)

FlyingBishop (1293238) | more than 4 years ago | (#30737206)

Most android apps don't, even Google-provided software. The Exchange calendar client continuously starts up even though I don't have a calendar configured.

Granted, it doesn't chew battery, but it's a cleanness thing. They should be playing by the rules.

Re:dumb article/crappy developer (2, Informative)

Anonymous Coward | more than 4 years ago | (#30736582)

There is a built in task killer, at least in DROID.

Settings -> Applications -> Running Services.

The only program I've found that doesn't quit properly is the Music application that comes standard on the DROID. Even after quitting (either by pulling out headphones or stopping music and exiting out of the application, I still see it running in the "Running Services" list.

Re:dumb article/crappy developer (1)

extremescholar (714216) | more than 4 years ago | (#30737068)

When you want to quit intentionally cause a seg fault, or exception, or equivalent thereof.

Who says Google talks clearly? (1)

jonaskoelker (922170) | more than 4 years ago | (#30736132)

Actually, that's quite simple. It's ok when Google (the copyright holder) says it's ok, otherwise it's not.

Agreed. Understanding what Google actually says might not be so simple, though. I think that's why people have a tendency to employ people* who are experts at interpreting law and contracts.

(*) I mean lawyers.

Re:dumb article/crappy developer (1)

dskzero (960168) | more than 4 years ago | (#30736234)

I don't think you read the article properly. Despite your undying love of google forcing you to accept everything from them (i'm liberally assuming here), there some legitimately complaints. The ammount of mini apps running around go directly against the idea that's been creeping around of making applications run on less files, like Mac application structure, or so i've heard, does, while the running applications it's a very valid point. The main point to be taken of is the fact that everyone and their mothers will develop handsets with different quirks, which can easily ruin the OS as applications will not "simply work", as they do on Symbian or the Iphone. Either Google sends down the hammer of standards, or the OS is doomed.

Re:dumb article/crappy developer (2, Interesting)

El_Muerte_TDS (592157) | more than 4 years ago | (#30736818)

Despite your undying love of google forcing you to accept everything from them (i'm liberally assuming here), there some legitimately complaints.

Heh, not really. There are a lot of things I think suck the Android, mostly with various standard applications. For example: no proper file browser in the music player; crappy email client which can't handle larger mail directories; no "update all" for through the market; unreliable bluetooth support (although, it could be just my phone); no vector based user interface (specially an issue now that other resolutions are starting to appear); etc.

The ammount of mini apps running around go directly against the idea that's been creeping around of making applications run on less files, like Mac application structure, or so i've heard, does, while the running applications it's a very valid point.

That's not per se an issue with Android but with application writers. Your application shouldn't start a service when it doesn't need to (looking at you "Astrid", I don't have any reminders). An application should do what it was requested to do and then stop. But other applications need to remain active in the background, like my SSH client

Re:dumb article/crappy developer (1)

MikeBabcock (65886) | more than 4 years ago | (#30737014)

You go play with your 'hammer of standards' platform and I'll stick to the everything just works phone with lots of small working packages that interoperate and we'll see who's got more options next year.

Re:dumb article/crappy developer (2, Interesting)

PianoComp81 (589011) | more than 4 years ago | (#30736270)

Point 2. The Tyranny of the Activity

Android, by contrast, pushes you to design everything as small, self- contained mini-applications

That sounds a bit like the old UNIX principle. And what's wrong with having applications that do small things and do it well. I don't want a picture application with it's own twitter functionality, I have a proper twitter client for that. etc.

The biggest reason he gives while this is bad is because it destroys then recreates an activity upon rotating the screen. What I've noticed on my droid is that application refresh the screen when the screen is rotated. To get around the refreshing, developers have to hack around google's API.

Re:dumb article/crappy developer (1)

El_Muerte_TDS (592157) | more than 4 years ago | (#30736602)

That's a implementation issue, not a design issue. He claims the design is inherently bad, which I don't think is the case.

Re:dumb article/crappy developer (1)

GooberToo (74388) | more than 4 years ago | (#30736992)

The biggest reason he gives while this is bad is because it destroys then recreates an activity upon rotating the screen

That's the default. The behavior can be overridden such that the activity is not destroyed and recreated.

Re:dumb article/crappy developer (2, Informative)

Darth_brooks (180756) | more than 4 years ago | (#30736394)


Maybe this is a new feature in Android 2.x. But the list of applications you get when holding down the home button is not "running applications" but simply a list of recently started applications. When I leave an application and it has no active processes then it won't show up in the process list. So, I'm quite sure it's not running.

Fire up something like advanced task killer and see what your memory utilization is like. He has a point, getting an app to "close" in the sense that it's not running and not hogging memory is a problem with Android.

Re:dumb article/crappy developer (0)

Anonymous Coward | more than 4 years ago | (#30736562)

The OS will kill idle apps as needed. Having free memory isn't doing you any good.

Re:dumb article/crappy developer (1)

entrigant (233266) | more than 4 years ago | (#30736706)

It's a problem with developers, and it annoys the piss out of me. There are a precious few apps that actually completely close when you hit menu -> quit. Most don't, and many even lack a quit command altogether.

I don't know if it's because android is attracting developers that aren't use to multitasking on phones (e.g. iphone) so they don't even think of the need for a proper quit or if it's something else, but I hope they learn soon. I get tired of having to run a task manager to manually kill each app after I'm done using it.

Re:dumb article/crappy developer (1)

MikeBabcock (65886) | more than 4 years ago | (#30737158)

The OS already closes those apps for you. The system never actually runs out of memory, does it? I wish it were slightly more aggressive sometimes (and some of the task managers simply lower the high water mark to achieve this), but for the most part it works.

I can run my weather software, then check my mail, click a link in my mail to Dolphin (the browser), and subscribe to the feed in Google Reader without much of a hiccup in between -- on an old HTC Dream phone. Granted, its even faster since moving up to 1.6 via Cyanogen.

Re:dumb article/crappy developer (1)

GooberToo (74388) | more than 4 years ago | (#30737266)

Fire up something like advanced task killer and see what your memory utilization is like. He has a point, getting an app to "close" in the sense that it's not running and not hogging memory is a problem with Android.

The entire point of applications like Advanced Task Killer is to free up memory. But it entirely defeats the purpose as it is itself an application consuming memory. Plus, the application kills battery power like its going out of style because it constantly polls to obtain process lists and per process information. Add in the fact that many users break applications by using it means that most developers absolutely hate the application because it generates bugs reports wasting endless developer time.

That specific application has widely been dubbed, "Advanced Battery Killer." Who would think that an application constantly polling in the background, consuming CPU, and using scarce memory would be an absolutely waste...lol...

Thankfully many savvy users are finally realizing that the task killer applications are as much a waste of battery life as they are a waste of dollars. In short, these types of applications prey on the ignorance of the masses and are completely counter productive while being the bane of other developers.

Re:dumb article/crappy developer (1)

numbski (515011) | more than 4 years ago | (#30736446)

Point 5 seems simple enough - no tyranny required.

Nice the application in the foreground to have high priority, renice everything not in the foreground behind it. Problem averted.

Am I missing something? I know that doesn't address RAM, but if one wanted to, they could load a small memory management daemon that matches RAM/swap use to the current nice states. Whatever is in the foreground can have physical memory, everything else goes to swap unless physical happens to be free and not in use.

Re:dumb article/crappy developer (1)

El_Muerte_TDS (592157) | more than 4 years ago | (#30736574)

The problem with that is that I might want to have music playing while I do other things like webbrowsing.

Nitwit suffering from Stockholm syndromw. (0, Troll)

140Mandak262Jamuna (970587) | more than 4 years ago | (#30736040)

I read the stupid article and the author is a stupid attention seeking Stockholm syndrome suffering nitwit. Complains the use of the word "intent" of all things as a super class or an API construct. Oh, yeah go ahead and argue with the word subroutine and goto without a space when you are it. Wants the developers to be enslaved by a tyrannical system a la iPhone app approval process.

What I understand from the article is exciting. I am not a mobile device developer, but looks like Google is trying to create fundamental tools like grep, awk and sed in the mobile GUI world. If that is what Google is trying to do, it is a very wise thing. Some 40 years after debut grep, awk and sed are still going strong and power users use it every day. Even when command line interface is disappearing and text files are no longer the main repositories of data. But an updated set of such fundamental tools with a well integrated GUI and the ability to handle more forms of data would be a radical.

Looks like the author is so green behind the ears he does not even know where the concepts of such mini applications with well defined interactions with other mini ops are coming from. At least one thing is sure, he got the attention he craved so much.

Re:Nitwit suffering from Stockholm syndromw. (1)

ardiri (245358) | more than 4 years ago | (#30736180)

Looks like the author is so green behind the ears he does not even know where the concepts of such mini applications with well defined interactions with other mini ops are coming from. At least one thing is sure, he got the attention he craved so much.

i think we can knock that down to experience :) lets take him back 10 years and program newton and palm os devices and see how much he loves android after that.

Re:Nitwit suffering from Stockholm syndromw. (1)

lokedhs (672255) | more than 4 years ago | (#30736558)

You are perfectly right.

The Intent system is what makes Android so powerful. If I have an application that wants to sent a twitter message, it can send an Intent with a request to do so. This Intent can be picked up by any of the applicaitons you have installed, so that the developer not only doesn't need to develop twitter functionality, the user can also choose to use whichever twitter application he wants, and it'll still integrate perfectly.

In case you were wondering, if more than one app is prepared to handle an Intent, the user gets an option to choose withich one should be used, and can store that as a default for the future.

Everything uses Intents, even basic functions such as sending an SMS, which is why alternate SMS applications works completely transparently. Another Intent is the one that displays the main "desktop". Again, no need to be limited to the default desktop application.

Just because no other mobile OS'es gets this right, doesn't mean that Android is wrong.

Re:Nitwit suffering from Stockholm syndromw. (0, Troll)

Ukab the Great (87152) | more than 4 years ago | (#30736836)

Stockholm syndrome? No.

A better metaphor is that Apple's like a strict parent, and Android developers are like the know-it-all teenagers who drop out of high-school because they "don't need all these people's rules" who then get smacked in the face with the stone cold reality of why their parents were so strict about them graduating.

veteran mobile application developer ? (3, Insightful)

ardiri (245358) | more than 4 years ago | (#30736162)

>> how long does it take to be a "veteran mobile application developer?"

checking out his profile (http://www.linkedin.com/pub/chris-haseman/1/369/a32) he has barely touched the majority of mobile platforms :) where is his symbian, palm os (68k, arm), ebookman, embedded linux, psp, nintendo ds, experience? surely - some of us started this stuff professionally back in the late 1990's with devices like the newton and palm professional. boy how things have changed - yet some things stay the same. he announces himself that ""(and by "in my day," I mean two years ago)"".

>> 3. Device Debugging

be thankful - some platforms you still need to do printf() style debugging.

>> 6. Java—Thanks, But I'll Take It from Here

Java - probably the worst language used on mobile devices to date. the desktop and server platform has evolved in many ways which are not being reflected in the mobile space; due to battery life, talk time etc - the typical moore's law of computing doesn't apply to mobile phones. there was a period where CPU speeds dropped on mobile devices - hopefully things will change coming up with new ARM and low powered x86 CPU's - but time will tell.

A true mobile developer demands a native C/C++ interface on mobile devices - if you want something done, more than a bouncing ball on the screen - its the preferred way. NDK under Android is a must - C/C++ isn't that bad - if you know what you are doing.

>> 8. Platform Fragmentation

its a problem? come on - seriously. you deal with it. you design around it; thats where your years of experience really kicks in and allows you to build cross-platform applications without issues. just because most companies hire an outsourcing department or "specialists" on specific platforms isn't a problem - it is a choice. there are plenty of alternatives out there.

Re:veteran mobile application developer ? (1)

sznupi (719324) | more than 4 years ago | (#30736456)

Apply your interpretation of 3 to point 8.

Seriously, why the sudden 1800 degree turn?

Arghh, 180 degree of course... (1)

sznupi (719324) | more than 4 years ago | (#30736478)

(as the topic says)

Re:veteran mobile application developer ? (1)

e2d2 (115622) | more than 4 years ago | (#30736814)

Show us on the doll where Chris Haseman touched you.

Consider the source (0, Flamebait)

Rogerborg (306625) | more than 4 years ago | (#30736186)

Chris Haseman is an independent software engineer specializing in wireless development. He can be found riding his bike between coffee shops in San Francisco. He's the author of the book Android Essentials (published by Apress). In his spare time, he's a resident DJ at xtcradio.com and a martial arts instructor.

Also, I hear he's fluent in Sanskrit and can divide by zero.

A smug superficially supercilious fuck-knuckle hates Android? Well, I guess I'll give it a second look then! I know which 'essential' book about it to avoid, at least.

Re:Consider the source (1)

Anonymous Coward | more than 4 years ago | (#30736382)

Chris Haseman is an independent software engineer specializing in wireless development. He can be found riding his bike between coffee shops in San Francisco. He's the author of the book Android Essentials (published by Apress). In his spare time, he's a resident DJ at xtcradio.com and a martial arts instructor.

Also, I hear he's fluent in Sanskrit and can divide by zero.

A smug superficially supercilious fuck-knuckle hates Android? Well, I guess I'll give it a second look then! I know which 'essential' book about it to avoid, at least.

As I write this was modded +3 insightful. Seriously Slashdot, some decorum please.

Re:Consider the source (-1, Flamebait)

LighterShadeOfBlack (1011407) | more than 4 years ago | (#30736400)

Wow. Would you like a little cheese to go with that RAGING INFERIORITY COMPLEX. The article is far from great but there's nothing wrong with the author giving a little information about himself in a linked bio. Nor anything particularly wrong with that bio. And if you read the article it's clear he doesn't actually hate Android.

So the article kind of sucks - take it out on the writing, don't get personal about someone you've (presumably) never even met. Oh, and maybe consider some kind of therapy.

Re:Consider the source (1)

mcgrew (92797) | more than 4 years ago | (#30736612)

Also, I hear he's fluent in Sanskrit and can divide by zero.

I can divide by zero. The answer will be incorrect, though.

Debug on the Underdog (1, Funny)

Anonymous Coward | more than 4 years ago | (#30736188)

Hey, I've been debugging for years on Windows Mobile...so, what's the story?

I'm not a coder however... (1)

AbRASiON (589899) | more than 4 years ago | (#30736320)

My comment is probably not worth too much not being a developer at all but I am an iphone owner and I must be honest the Nexus one does look pretty interesting.
I'm also an Aussie and the Nexus one isn't coming here unfortunately due to incompatibilities with Telstra (the most evil company around, sadly they do have a good phone network)

I will say most of his stuff is meaningless to me but as a hardware junkie, his 8'th point about the amount of target platforms, inherant in the nature of an open platform like android is a bit of a concern.
There's always positives and negatives in open and closed systems and this is a pretty distinct point, the question is though, what's the solution and who is going to get on it fast?

I'd like to see it solved because I do quite like my iphone but sadly I finally cracked the shits with it being so locked down and jailbroke it. It's better now but I /shouldn't have to/ .... would like to see an open platform at least be 1/2 as popular as the iphone.

We'll see I guess..

Obviously an inexperienced Android developer (2, Informative)

Maxmin (921568) | more than 4 years ago | (#30736496)

1. What are you complaining about? Of course it's a legal grey area, those are some of Google's primary products - why would they make it easy for you to slap Google Maps into a thin wrapper, insert adverts, and call it "Chris's Maps"? Go write your own, silly boy.

2. You are required to declare *exactly one* activity and intent. After that, it's up to you how you stitch together your app's UI elements. The point of multiple Activitys is that they're a) modular, b) stackable, c) can be swapped during low memory events, and d) can have their state preserved by the platform upon exit. Personally, I prefer a low number of activities, then use other UI elements to add navigational depth.

3. New to software development, eh? Over the next 5-10 years, be prepared to learn new and discard old, that's the profession you've entered (recently, it seems.)

4. "Never quitting" is merely the default. It's up to you to detect navigational or logical termination of your app, and invoke the necessary methods to bring it to an end. The reason for this is that, hey! it's a phone, call might come in! and it's a multitasking O/S! Another app's Activity may suddenly be running on top of yours, and you may not want to exit just yet, hmm?

5. Finally, a real problem. Yes, there are apps that leave background processes running continuosly, disregarding the device's sleep state. These are from bad developers -- learn well from their mistakes. Also, you don't have to use those apps, just uninstall them, and also install Power Manager which will extend your battery life.

6. Watch the video "Writing Real-time Games for Android [google.com] ," wherein you will be introduced to some key concepts around embedded and real-time software development. First and foremost, STOP DOING THINGS THAT INVOKE THE GC! Cool it with excessive + string + concatenation and start using StringBuffer. And preallocate objects to that end as well. Et cetera.

7. Intense, dude. Having developed for Blackberry, all I can do is throw my head back and laugh, laugh hard. Android is a V12 Ferrari next to Blackberry's three-cylindar commuter tin can.

8. If you'd read Google's Android documentation, you'd realize this point was moot, thanks to the carefully spelled-out guidelines that will keep your app looking and behaving the same across various screen sizes. True that you'll have to *think* about how to handle an 8x10 format screen in your app, but that's no different than any windowed platform.

9. You start out whining about "platform fragmentation," then return to your point #1. Whatever. Platform fragmentation may, indeed, become a problem one day, but you haven't defined how that will happen, in your point.

10. If I'm not mistaken, Nexus One equals (or eclipses) the iPhone's raw computing power. 1 GHz, GPU, though low on RAM and flash comparatively. I'd rather have a platform with greater RAM, but the architecture of Android is such that it is *meant* to run on low-capability devices.

Apart from the author being a newbie, did we all misread it as not being a spoof??

(Potential) iPhone Developer's Top 1 Gripe (2, Interesting)

Comboman (895500) | more than 4 years ago | (#30736536)

1. SDK only available for Mac.

why Java? (2, Interesting)

ShenTheWise (1277986) | more than 4 years ago | (#30736540)

My single Android complaint: Why, oh why must it be Java based?

1) Sandboxing in Android actually happens at the Linux process level. Every app run its in own isolated process, with its own instance of the Java VM. You can remove the VM form the picture and it would be just as safe.
2) You cannot build once run everywhere. Its a myth. With J2ME phones, devs test and optimize for every supported handset, and it will be the same for Android.
3) Java *IS* an order of magnitude slower than C/ASM for many things that are important for games, such as matrix math. Google knows this and is trying to work around it with JNI/NDK, but really why the complication?

I guess its too late now, but it makes me very, very sad.
(And makes Apple very, very happy)

Re:why Java? (1)

iamapizza (1312801) | more than 4 years ago | (#30736752)

What would be more appropriate here than Java? Obviously not Mono/.NET Compact Framework, that's going to be years behind the 'latest' Android OS version. Obviously not ObjectiveC, as it's not a language but a joke.

Re:why Java? (1)

fredrik70 (161208) | more than 4 years ago | (#30736850)

hold your horses, Java aint *that* bad. With the ability to write c libs for your java code I think things should be ok. Personally I prefer to do the UI in java/xml and then any heavy number crunshing in c. that way you use the languages for what they are best for. At least until someone ports QT to android phones. ;-)
Also when they get the JIT to work for the Dalvik runtime things will also be a bit better

Re:why Java? (1)

Josh04 (1596071) | more than 4 years ago | (#30737134)

Neither 1 nor 2 is an argument for not using java, and 3 isn't really applicable as not only is it optimised for it's own version of java, but you have the option of writing C anyway.

Take if from an Android Dev (1)

derek5432 (1604895) | more than 4 years ago | (#30736550)

This guy is a moron. Most of his "gripes" aren't even real gripes (e.g. the tools are too helpful!). The others aren't legitimate, except perhaps fragmentation, but that's inherent in the whole point of Android and the SDK has done a pretty good job so far of either letting you design for compatibility mode (in which Android tries to figure out the best way to render your UI) or design for 3 broad categories (basically small, medium, and large screens). The guy really tips his hand when he talks about how Android hardware sucks. Check out this chart: http://mashable.com/2010/01/05/nexus-one-vs-droid-vs-iphone/ [mashable.com] In terms of specs like screen and camera resolution, battery life, chipset, etc., the newest generation of Android devices are either comparable or surpass the iPhone. The really stupid aspect of this article is that there are legitimate gripes about the platform that the author completely ignores. Huge on the list should be the inability of Android to run apps from the SD card, and thus the constraints on available space for apps on a device. The market still has all kinds of problems, the most dire a need for a decent desktop portal, something somewhere near comparable to iTunes. As far as the actual SDK, particular APIs are a chore to use (Google Maps, for example), and though Google rolls out new features with every SDK, they are often poorly documented (e.g., the new Account Manager API). All in all, Android is great to develop for. But like every platform it's got its problems, and if you're going to gripe about it, do it right.

He Calls Himself an Android Developer? (1)

mrpacmanjel (38218) | more than 4 years ago | (#30736674)

1. Open Source
This is the most benign on this list, and it's only here because now everyone and their brother is going to make a new "Android-powered" device.

I'm tempted to quote the whole paragraph but this last bit made me laugh!
I thought this was a good thing because it means more competition, the "barrier to entry" is low - it's accessable to almost anyone and enables innovation.

3. Device Debugging ..Back in my day (and by "in my day," I mean two years ago..Why do I hate this extremely useful tool? I hate it because it makes about 40% of my debugging skills nearly useless!..
curse their cotton socks, has quite literally taken a process that used to involve hours of work and reduced it to simply pressing F11. Not only is it straightforward and easy to use, but it also works on every platform out there (Mac, PC, and Linux).

He MUST be JOKING - must be!
No developer in thier right mind would see this as a bad thing!
Especially "Back in my day (and by "in my day," I mean two years ago)". This "wealth of experience" proves his naivety.

6. Java--Thanks, But I'll Take It from Here
As a programmer, it makes me feel like I'm getting a very slow lobotomy..nearly impossible to, say, write an anti-aliased font library that renders in a reasonable amount of time..write custom libraries in C with their NDK, but now we're debugging two languages..

What a narrow-minded view!. Not everyone wants to write low-level stuff like an anti-aliased font library. The vm that "runs" the android platform is absolutely fine for every day stuff like email apps and "fart" applications!

9. A General Lack of 'Evilness'
This lack of an iron grip (which both Apple and Verizon have effectively, if obnoxiously, employed on mobile developers) is exactly what is leading to the current and future fragmentation..Google, with luck, will learn when it's good to be evil

10. Hardware, Hardware, Hardware
The current crop of Android hardware, for lack of a better word, sucks..

He MUST be JOKING - must be!
He MUST be naive.
Quite frankly I have lost the will to comment further except

I really must admit that Android, despite its relatively few flaws, is one of my favorite platforms to work with. Quite honestly, if my complaint about how the word 'Intent' makes for awkward grammatical constructions ranks in the top 10, I'd say the Android platform is doing pretty well for itself.

I hate to think what he could have said if he hated Android!

I'll give the guy the benefit of the doubt and some of these points are "tongue-in-cheek" - assuming that's the case then ok verrry funny!

I'm certainly not defending Google or an Android fanboy but this article is utter rubbish.

He should really go and develop for the iPhone or Windows mobile instead. Both these platforms are more aligned with his way of thinking!

Why isn't this on idle? (1)

AlXtreme (223728) | more than 4 years ago | (#30737138)

I'll give the guy the benefit of the doubt and some of these points are "tongue-in-cheek" - assuming that's the case then ok verrry funny!

I'm certainly not defending Google or an Android fanboy but this article is utter rubbish.

Come on, my sarcasm detector went off while reading the first "Gripe". But I agree, this one is lame even as a swipe against the "10 reasons I hate/love gadget X" articles. Why isn't this on idle?

Lack of support for wi-fi proxy (0)

Anonymous Coward | more than 4 years ago | (#30736784)

I don't understand why this doesn't get more attention, or even some basic acknowledgment from the Android team. Lack of a wi-fi proxy means that Android devices are basically useless for corporate/school wi-fi networks.

When I connect my iPod touch to the corporate wi-fi, I can access the web. When I connect my Hero to corporate wi-fi, I cannot. This is a defect.

Re:Lack of support for wi-fi proxy (1)

gregarican (694358) | more than 4 years ago | (#30736978)

It appears to be on their bug list [google.com] .

It's supposed to be funny! (0)

Anonymous Coward | more than 4 years ago | (#30737066)

Retards.

5. Developer Cooperative (2, Interesting)

Unoti (731964) | more than 4 years ago | (#30737288)

tragedy of the commons: the misuse and overuse of a collectively owned resource. In the case of Android, that common resource is the memory, processor, and battery life of the handset. The tragedy is that any application, while in the background, can use any amount of resources.

This isn't exactly true. Apps only get to use 16 megs of memory on Android. Sounds like a lot, but it's not, especially if you're working with 2d graphics. That's actually something that's causing a lot of difficulty for me in game development on Android. A 1000x800 image is 3.2 megs by itself (1000 x 800 x 4 bytes per pixel). Put a couple of sprite sheets into memory for animation and you're rubbing elbows with the limits.

The point from the article about apps being unconstrained and able to ruin each other isn't really true, at least not for memory. Perhaps the problem the author cites is more of a problem on Android platforms with only 64megs of memory to work with in total. On my Droid, I am saddened by the opposite problem: only being able to use a small portion of my device's memory.

Load More Comments
Slashdot Login

Need an Account?

Forgot your password?

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>