Mobile Carriers Cry "Less Operating Systems"
A NYTimes story says "Multiple systems have hampered the growth of new services, mobile phone executives say. " The story does a good job of capturing some of the changing dynamics in the mobile OS market — but rightly raises the point that given the sheer size of the mobile market, it's unlikely we're going to see the homogenization we have in the desktop market.
"FEWER" systems! "FEWER"!
I know they have trouble adding-up, but jeez...
Smokey, this is not 'Nam, this is bowling. There are rules.
it's unlikely we're going to see the homogenization we have in the desktop market.
I sincerely hope so. More competition -> better products.
Right now if a mobile phone gets popular it's because it has features that more people want, not because 'everyone else uses that one'. That's the way it should be.
Now if only we could get the desktop market to behave that way.
Say what you will about Windows on the desktop, but the homogenization of the desktop OS is one of the main things that accelerated the growth of the PC. I'm not saying that it would be good for the mobile market by any stretch of the imagination -- one of the reasons we have so many OSes is that we have so many devices, each targeted at different tasks.
However, in my mind only one OS could possibly fill the bill for all mobile devices, and that's Linux. Linux is easily and readily modifiable, not just by license, but by the way it's grown into a modular kernel that's fairly platform agnostic these days, one that can be stripped down to the tiniest sizes if necessary.
If I had one mobile OS to choose from -- well, Linux would be it. And it's not just because I'm a Linux-using geek, but because it really is the best tool for the job.
My blog
What we need here is a good, old-fashioned monopoly.
You know, something we can praise for setting standards and reducing overall expense now, and hate for existing later on.
Oh poor carriers! Boo hoo hoo!
They're just upset because they put a lot of research and development into stripping the features out of phones that they find inconvenient, and having multiple systems means they need to spend that much more in tech so that they can hamper the new devices similarly.
I mean, they CAN'T just let the phones be, can they? If they did, then the phones would have the out-of-the-box capability to transfer ringtones and wallpapers 'n whatnot directly from people's PCs, or from web sites OTHER than the carriers!
New OSes have *nothing* to do with the fact that adoption is being hampered. It's the greed of the telcos that are hampering things, because they demand that phones be completely locked down so users are ONLY allowed to do what the telcos want, like paying 4 bucks for crappy renditions of Madonna songs.
What REALLY makes me LMAO with this thread is that this is EXACTLY what you all rail against on the desktop, where y'all get a glowy feeling imagining a world with hundreds (or thousands) of different desktop operating systems.
Here the cellphone operators are telling you that this is a bad thing, and, ironically, you're by and large agreeing with them... Why not tell them that every vendor should pick their own linux distro that they can customize and install and be unique? Afterall, it's EXACTLY what you'd all do if the platform in this article were PC's instead of mobile phones...
-AC
- Symbian UIQ
- Symbian Series 60
- Symbian Series 60 v2.0
- Symbian Series 60 v2.2
- Symbian Series 60 v3.0
- Symbian Series 80
- Symbian Series 80 v2
- BREW 2.10
- BREW 3.12
- BREW 3.14
- Palm 5.4
- Palm 6
- WinCE 4 SP 2003
- WinCE 5 SP
- WinCE 5 PPC
- J2ME CLDC
- J2ME CDC
- J2ME JSR-184
- J2ME M3G
And that's just the ones that I can remember off the top of my head. Some of these are legacy builds, but there are still customers who want them. A large part of our product family is platform abstraction code; if you want to support multiple mobile platforms, you either bloat your code with abstractions, or drown it in #ifdefs. In either case, you have to write to the lowest common denominator, and avoid anything that's even remotely platform dependent, which does engender decent coding discipline but at the result of reducing productivity. That's mostly a C issue, but even J2ME isn't immune, particularly when you have to deal with extensions like OpenGL ES or M3G.If I never had to work in anything but (e.g.) J2MD CDC OpenGL ES or (gasps of outrage!) WinCE SP2005 again, I'd be a very happy bunny indeed.
If you were blocking sigs, you wouldn't have to read this.
Hmm... not sure whether the parent has really worked on a mobile phone platform. I've worked extensively on several: many proprietary RTOS platforms, Linux and Windows Mobile, with a little Symbian thrown in.
...)
Linux is a kernel. A pretty good one, I grant, but it only provides kernel services. The key to a mobile device is what sits on top of the kernel, and Linux has less of a good story to tell. Look at Windows mobile or Symbian and you'll notice that they each provide a well-defined set of telephony oriented services and APIs and a set of applications which use these.
If you want to build a product based on Symbian or Windows Mobile, you basically just have to implement a set of well-defined APIs and device drivers for your platform and you're good to go. While this is far from being a trivial undertaking, it provides a stable environment for 3rd party application developers, who stand a reasonable chance that their application will work as expected on any device supporting the OS.
The Linux situation is fast-developing, but there's no question that the rich telephony middleware layer isn't really there yet. There are a variety of different consortia, all of which have websites with "white papers" and some of which have formal API documents. To my knowledge, however, none has anything close to a complete, commercial quality implementation of a reasonably full suite of telephony middleware and user applications. I don't doubt that this will eventually arrive (there's a lot of pressure in that direction), but there's no 'standard' that I can see.
Let's just look at UI and application framework: there are at least two common options and a rich variety of more-or-less unsupported options: QTopia (which is probably the most mature right now, but costs $$$) and GTK+ (which is free but less mature on embedded platforms). If I'm an application developer, which do I target. Unlike Linux desktop machines, most of which resolve the problem by installing most of the libraries for both, space is at a premium on mobile devices - so QTopia devices require QT for the UI (and lock out GTK+ applications) and GTK+ devices do the converse. This is important to operators as a QTopia based phone is sufficiently different to a GTK+ based phone that they would really need to treated as separate platforms even though the kernel is the same.
At least the UI frameworks exist and work pretty well. What about the code to do things like:
* Manage a SIM-based phonebook
* Interface with a CDMA or UMTS modem (which needs to be specified
in an abstract way to support the many different chipsets out there)
* Implement the SIM toolkit
* Implement all of the user notifications required for SMS, supplementary
services, SIM and so on.
* Gracefully manage multiple network connections in a seamless manner
(upmarket device probably has cellular packet service, Bluetooth,
WiFi, possibly tethered connection to desktop machine, IrDA,
* Secure update of the software images on the device
* Over the air provisioning of connections and services
I could go on, but I guess the point is made.
Sadly, Linux for embedded mobile devices risks becoming marginalized by a repeat of the 'desktop wars': several incompatible implementations of some pretty basic services which end up fragmenting the market because none achieves critical mass. Success means reducing the number of 'initiatives' (probably to one) and showing us the code. Enough of the white papers...
"Mobile phone executives have hampered the growth of new services", mobile phone users say...
What REALLY makes me LMAO with this thread is that this is EXACTLY what you all rail against on the desktop, where y'all get a glowy feeling imagining a world with hundreds (or thousands) of different desktop operating systems.
No, I don't. In my perfect word there would be one or two core OS, and they would be OPEN SOURCE. So, there is nothing ironic about my viewpoint.
This may be flamebait, a troll, or just general bitching, but I've got some karma to burn, so WTF. I am always amazed that computer geeks have such a negative attitude about spelling and grammar, considering that most people here have some knowledge of and experience with programming, and many program for a living. It seems to me that if you can't spell, you can't program.
int main() works, but
innt mayn() doesn't
So why is it that people who are proud of their fluency in C++, or whatever, are proud to sound like a drooling mouth-breather in English?
Some mornings it's hardly worth chewing through the restraints to get out of bed.