Please, please, Nokia, adopt Android and put your efforts into making great hardware to go with it, without ruining the interface like so many other manufacturers do.
Expecting companies to develop for then yet another platform, one which seems to be redefined often, is asking a lot and will result in getting only the really big players and lower rate developers trying to cash in on the under exploited platform.
In a way it's similar to Yahoo outsourcing their search to Bing, advertisers focused most of their attention on adwords and then also rolled some Bing campaigns, but only so much attention can then be given to the third player in the market for even less ROI for time spent due to the lower search volume.
Also, note these points:
* There are 30,000 apps available
* 400,000 new Forum Nokia developers were added in the last 12 months.
With Qt/Qt Quick you get an environment that is sort of competitive with where iOS and Android were over a year ago. Meanwhile, iOS and Android have moved on and are accelerating development of their SDKs, and Nokia is falling further & further behind.
Anyway, say you build your app, thinking how great it will be with the huge reach of the Symbian platform. You ship, and discover that (a) people who have a Symbian phone and can afford to buy your apps are just waiting to upgrade to iOS or Android, and so won't invest any time in new apps on their Nokia phones and (b) Symbian is only growing in use in the developing world, where people are very unlikely to buy your app because the cost is a lot more significant.
So you give up, and go back to iOS and Android where the toolsets are nicer and there is more money to be made.
Eventually when the prices of the better smartphones fall you would expect a big shift away from nokia unless they can improve on their current offerings. I think we will have to wait some time to for windows 7 phone to pick up some market share before app store figures show whether it is a better bet than nokia in the American market.
Secondly, there is room in the market for other players as indicated by Bada's success.
I agree with what you said here. But to take it a step further I'd say that the number one rule I've learned from doing mobile native apps the last few years is that ideally one should NOT be making mobile native apps. Make a web app, that just happens to look and interact decently on a mobile device. Saves developers a lot of pain and a lot of time otherwise invested in a more narrow platform set of skills.
Yeah, make a web page so I would need to start the browser first, then wait for the page to load. The GUI and the experience will be completely different than anything what I already have on the phone, not to mention that the GUI will be suboptimal. Transition between screens in the app will be dependent on network coverage - if I'm in the bus and it stops on some blind spot just when I clicked the button, I'll have to watch white screen (or an error message) until the bus moves. And for what? To "save developers a lot of pain". Sounds reasonable, I'm sure I'll give you my money.
What web apps do you know that work great on a phone? Maybe my experience is skewed, but the slickest web-based phone app is the mobile version of Reddit, and that thing still sucks when you actually use it.
Color me unconvinced - native dev isn't going anywhere just yet.
It's my phone, at a minimum I should be able to pull all my own data off it in any form I choose.
I'd rather wait for one company to try to and get their UX together than wait for Google to do an 180 on their data collection policies or for Apple to tear down the walls of their garden.
And I'm REALLY curious about why you and 14 other people think that Android is such a good mobile OS. The VM is both a legal and speed liability, the Android UI is not GPU-accelerated and the entire OS is still immature (see the embarrassing bugs with the SMS or the browser security holes).
Isn't that part BSD-licensed?
> the Android UI is not GPU-accelerated
It's a bit hard when you have to support more than one device, but I believe it's a matter of time. As more and more hardware gains hardware acceleration, I assume it will come (if not already in the latest 2.x and 3.x series)
> the entire OS is still immature(see the embarrassing bugs with the SMS or the browser security holes)
Don't confuse the OS with the programs that run on it. You don't blame Windows when SharePoint eats up all your intranet, do you?
SMS and web browser are core mobile OS services, they're not simple programs since connectivity is very important for a mobile phone.
Oracle is not complaining Google is implementing Java in Dalvik. Oracle is complaining they are implementing things too similar to stuff Oracle has acquired patents about.
Anyway, features i find pretty neat are:
- The concept of Activities
- The concept of Intents and their connection to activities
- real multitasking
- XML based layout with builtin internationalization
- the use of Java as widely known language
- Dalvik after getting JIT compilation = nice piece of technology, a fast and capable VM for such "slow" and limited hardware
- oh and it's open source (except for the google apps, just like any other app)
I’m not sure why you like XML so much, is it that you can write an interface programmatically? While it’s true that a nib is nothing more than a writeout of a view’s object graph, it features a higher-level mode of internationalization (nib-level) meaning that interfaces don’t have to be shoe-horned into text fields. Besides, it’s always possible to create a blank view that’s drawn into.
However, Dalvik’s JIT is more a ripped feature of the JVM (hah), and Apple has worked against implementing similar, their memory management techniques are still mainly reference counting.
And the open source thing? Apple’s core OS is OSS as well, Google’s strategy is the same: open source the fundamentals, leave the important bits proprietary. Apple’s children are UX and native apps, Google’s is online apps, which is why the Open Source tide line is a bit lower on iOS: Google couldn’t care less about churn and boring, long-range updates, as long as they get the users doing web stuff. Both Google and Apple both protect what’s important to their business interests.
But let me tell what i find so nice about activities and intents by example of a simple usecase.
I am browsing in my RSS reader and find a good article. Now if i want to share this article, i usually have a "share" option which sends the intent to the OS. Depending on the registered applications it let's me send this article via mail or twitter or sms or even bluetooth (or really whatever app supports this intent). After deciding i want to send this as mail to a friend the mail activity opens up, let's me send it and seamlessly send me back to right where i was (reading the article). This is integrated throughout the whole OS.
Now, if i am reading some rss article in Pulse on my iPad, i have two options: Use the facebooks-share button of Pulse. Ok, but if i want to mail it or the app doesn't offer that at all? I'll have to copy the URL, close pulse, open the mail app, write the mail, close the mail app, open up pulse again.
Another example is: Google places offers me a restaurant i want to visit. Now depending on the apps i have installed i can use google maps, some other navigation software or the public transport app i have to show me the way to get there. It makes the user experience quite seamless, despite the applications not "knowing" of each other. I don't have to write down the adress, open up some other app, enter the adress again.
It's also the way to replace core functionalities of the UI. Want another home application? When pressing the home button on the device it's firing an intent and this can be handled by some home app of your choice. Same for the search button.
The nice thing about intents is that it's very flexible. Depending on the apps i have installed it offers me interaction between those apps.
About JIT: If you want to believe Wikipedia, JIT is no JVM originated feature but was invented somewhere in the 60s.
I find it quite hard to imagine how the Dalvik JIT could be a real rip-off of the JVM JIT, as those are based on quite different architectures. The only thing in common is that they both use the same syntax.
About Open Source: I may be corrected here but it's perfectly possible to have a working phone by taking the sourcecode from android. It will have a running kernel, a working UI, i can install apps and live with it. What would be missing would be gmail or the android market. But there are other markets and other mail applications.
Could you please point me to where i can find a compilable open source version of iOS?
Here was the original announcement:
If Nokia were to enter the Android market and promote their open ethos throughout the Android community then the company could make a mint. Something as simple as releasing driver code for their phones so people can modify code to be run on their phones would put them miles in front with the Android community. If Nokia were to do these simple things then projects like the GAOSP wouldn't be so relied on to provide a usable phone with support.
These problems exist because manufacturers have not thought about these issues, and would rather line their pockets with new customers than provide support for existing customers/suckers.
Most people I know with Android devices have never downloaded apps, some have downloaded a few in the first few days they had their phone, and only my most hard-core tech friends download any regularly. Most studies seem to confirm this behaviour. Most people don't even know what a 'phone update' is, and are caught off guard when their phone asks them about it.
So, you buy a new Android phone, try to download the Twitter app, and realise that your 2 month old phone will never be able to run it. Does the phone work?
A lot of custom OS projects wouldn't exist today if consumers believed it did.
Anyway, my main point is that 'twitter' is something most users have only heard from on TV and don't even know what it is. For a regular user, a phone works when you can make phone calls with it, send text messages and set reminders/use it as an (alarm) clock. Then there are fancy features like using it for navigation (which is something they're already familiar with from standalone devices), contact/full agenda sync, and password management; and reading news sites; and post on facebook when they're so bored out of their mind that they really don't know what else to do.
And then there's the uber-advanced, only-nerds-do-this, full phone-centered lifestyle, where as much as possible is automated through phone apps. This is where twitter-client downloading people fall into - web nerds, turtle-neck wearing marketing people and art students. Of course in absolute numbers this is still a sizeable market, but it's only a fraction of the overall 'mobile phone' customer base. It will become more main stream in time, but not now...
How many OS projects are really used? A couple of hundred users, a couple of thousands for popular custom android roms? That's still marginal.
They do. Their customers are the telcos. most phone manufacturers will do whatever they are told, without much regard of how much this will affect the life of their users.
As long as we prefer to buy locked-up, subsidized phones from our telcos, this unfortunate arrangement will persist.