Many "What IFs", but for me the developing tools and silverlight are key. Also on the RIM side QNX is a very promising bet against Linux/iOS/Windows, the demo doesn't feel real, but QNX is a strong OS.
Many "What IFs", but for me the developing tools and silverlight are key. Also on the RIM side QNX is a very promising bet against Linux/iOS/Windows, the demo doesn't feel real, but QNX is a strong OS.
And FWIW, I do my Android hacking with emacs and a shell buffer.
Android's tools don't suck, but I think they're objectively inferior to Apple's and Microsoft's across the board.
Android at least has garbage collection .. native C interface, and it's open to you as your mother's arms.
If Android lacks anything, it's only a matter of time before it's fixed. The cat is out of the bag, and the OS of the mobile future is Google's as much as it's yours and mine. For every polished iPhone handset sold, there are three crappy but wide-open android devices sold to hungry minds. iPhone is the best mobile OS today, in terms of polish and usability, but Android powers devices that haven't been conceived yet!
Poor grad students in EE and CS are all over the mailing-lists, asking for help with Android ports to their cheap boards. They're ambitious, confused, tired and hungry. They don't know what they're doing .. yet. They're just making use of what they have, a Free OS that does the basics. However, said students, amateurs, wannabes and beginners number in the millions .. the little busy bees are hard at work, reading, writing, and hacking, and in five years time, when they know better, when they're more capable, when they graduate and funded, you can bet your last dime they will make this a Free Android world. Neither Apple nor Microsoft have enough money to buy people's free will and self-interest.
I said this before and I will say it again; Android is on par with LAMP and GCC in terms of impact. It's not a piece of infrastructure software, it's a fundamental right for the mobile future, and will power far more dreams than any niche or specialty mobile platform, which iOS and the others are destined to be.
Apple is making the best phone and tablet os that they can. That is their goal. If it means it's also the best in the market, then they will be rewarded by people buying their products. They haven't lost because iOS isn't being installed on a printer.
First of all the language. c#, especially in the latest iterations has become incredible. Featuring the goodness of both statically and dynamically typed languages. It has become very elegant and powerful.
Sadly, I can't say anything similar on Java. Is has been very slow to advance, very conservative when advancing, and the tools are still so slow (At least eclipse).
Regarding GUI development on Silverlight. Microsoft has done many things right with it. It has the best separation of UI and logic that I have seen built right into it. They have xml files to represent the UI (In the same way web has HTML), and the framework is as flexibly as could be (e.g. it wouldn't take you more than a minute to create a scrollbar that looks like a clock for example (If you have the graphics ready).
And the most important of all - they have a UI editor built for DESIGNERS. It encourages you to worry about the UI look and feel, and not on the logic behind it. It has tools in it from the designers world, and encapsulate a lot of headaches (E.g. setting a gradient direction is done by dragging a line over the area, and not by setting some numbers).
In addition, Silverlight has the advantage of being a second generation after WPF. Microsoft has learned from its mistakes with WPF, and simplified Silverlight dramatically. They could do that because Silverlight was a new technology which didn't have the requirement to be backward compatible.
Whether Apple sells X units or makes Y dollars is immaterial to me. All I care about is that every Android source file begins with a preamble that's sweeter than Aretha and Whitney to my ears: it promises me Freedom. Freedom to share, copy, clone, sell, give away. And from my experience, Dan Bornstein and the gang, bless their hacking souls, are here to assist me.
My "users" might never care what powers their doctors' tablets (they don't even know what an OS is, in fact, most of them can't read) but I do. I know I can fly back to ShenZhen and shop for boards, case, power chords, and save money. And in the end, have a Free, world-class operating system waiting for me.
To me Android is not a privilege, it's a right. It's what I will use to help my people. And there are millions like me who outnumber luxury mobile users by a huge margin.
This is where my heart is at:
Android allows you to define your UI in XML as well[1]. It's not that novel, Flex does the same thing too. But not to be too dismissive, it would nice to hear of experts in both to tell us what Android might be lacking.
Regards UI editor, yes, Android doesn't have any WYSIWYG UI editors. There is one, but it's 3rd party and not as polished as you describe MS's to be.
--
Or more pricey ones with 8", 10" screens, less or more branded.
Or, for example, Android netbook from Sony, definitely not cheap.
Or chose from several dozens of phones with prices starting from about $200.
About software development Mahmud wrote enough in comments.
I shipped nearly every type of electronic piece from China. $100 is not the bottom, it's the ceiling. I have been in this business (gadget hardware) since 2004.
But I have a feeling you were not replying to me ;-)
This not a gadget for the rich. It is now available for normal people.
Another example is package management. If you want to mount an ISO in Windows, you have to scour Google for a while attempting to find a spyware-free available download. It's a garbage situation in Windows.
Linux, however, has amazing window management capabilities as well as package managers.
Now, if we turn to ease-of-use, I'd like to remind you that Google Chrome OS is coming out in one month (ish). While it is a proprietary OS, there is an open source / free software version called Chromium OS. This is a Linux OS that looks totally easy to use and will be natural for non-Linux people to handle.
I very strongly disagree that the Linux desktop is "a good distance" behind its rivals.
I'm a Fedora Core user at work (and have been for the better part of a decade) and am consistently appalled at the unreliability of things like sound and clipboard management. Areas that are completely taken for granted on other platforms.
create a new list box which works exactly like a normal listbox would but the items in it are replaced by whatever you write between <datatemplate></datatemplate> tags, and all the bindings you make in the data template are automatically set so that they are bound to the object they represent (ie the dynamic properties in data template 3 are bound to object 3 in the source list). And the entire thing takes only about 30 lines of xml.
Bind any property on any object to any property on any other object
Have any properly which is bound to any other property be automatically updated when the value of that property changes
Attach new properties to any xml element, and execute code when that property changes (useful to change a bool in one class to cause a window to close in another)
You can create entire master detail system and bind them together without haveing to write a line of c# code to tell it how it should look or what it should do -- which means that (if you structure your code right) that you can create unit tests that check that when one button is clicked, an item is removed from a list, etc.
Again, MS have created something that is really, really far ahead of anything else here. Too bad it is windows only.