Inside Symbian: the Platform Nokia Secretly Hates 235
DECS writes "The Symbian OS runs the majority of todays smartphones, and is generally regarded as a solid platform. All is not well behind the scenes however. Here's why Apple ported its own OS X to the ARM architecture for the iPhone, why Motorola left Symbian for Linux, and why Nokia executives secretly regard Symbian with contempt. An inside look from Symbian developers: Readers Write About Symbian, OS X and the iPhone."
So is this the end... (Score:5, Funny)
...of an EPOC?
Re: (Score:2, Funny)
I own a Nokia E61 (Score:4, Informative)
Re: (Score:3, Informative)
I haven't worked out how to add self-signed certs yet so I have to click on equivalent of "accept for this session" each time I connect.
Re: (Score:2)
Re: (Score:2)
Re:I own a Nokia E61 (Score:4, Informative)
Try setting another button to the function, and see if it still takes that time.
Hope that helps
Re: (Score:2)
Comment removed (Score:5, Insightful)
Re:Oh, RoughlyDrafted.com (Score:5, Informative)
They made three: the A1000, the A920 and the A925. They were all horrible. The horribleness of Motorola phones has nothing to do with OS
Re: (Score:2, Insightful)
Re:Oh, RoughlyDrafted.com (Score:5, Interesting)
I'm pretty sure Apple ported OS X for the same reason as Microsoft ported Windows CE. It was their OS.
My suspicion about the real reason they are not opening the iPhone up for development, is that they haven't really ported OS X at all. They've got a UI for the phone apps that looks and feels like OS X, but there are no Quartz libraries or any other libraries that third party developers would expect, the apps they have are all hand coded and heavily optimised. The device just doesn't have the power for a generic OS X like interface. Apple haven't released details about the clock speed or the CPU other than what company they are buying it from, but a quick check of the company's website shows that they sell two processors, both running at less than 200MHz. If they haven't made a secret deal for a chip that hasn't been announced yet, expect the iPhone to run at the speed of a PDA from 5 years ago.
Re: (Score:2)
Why port the (braindead) dual MACH/BSD kernel hybrid to a phone ?
It's just not needed if it's even technically feasable / possible.
Not enough CPU? (Score:5, Insightful)
Re: (Score:3, Interesting)
Re: (Score:3, Informative)
Also, the tiny screen means a lot fewer pixels to fling around at any given time. A 480x320 screen has 1.5 million pixels. An PowerBook G4 has 1152x768, which is 884,736 pixels. It can run MacOS X just fine.
This means that a 400mhz PowerBook had about 5x (actually almost 6x) the pixels of an iPhone.
So if you think of it that way, it seems to me like there should be very little problem with running MacOS X on a 200mhz processor with a phone size
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
>>
>>So if you think of it that way, it seems to me like there should be very little problem with running MacOS X on a 200mhz processor with a phone >>sized screen.
A port of OS X doesn't necessarily imply a port of the GUI-system.
The PB G4 has a separate graphics-processor to handle all those pixels, with the CPU mostly running the OS and the applications.
If the Iphone hasn't got a really hu
Re: (Score:2)
Of course the newer machines with hardware acceleration were loads faster, but after Tiger performance actually wasn't half bad on the old systems.
D
Re:Not enough CPU? (Score:4, Insightful)
No one's saying programmers are more stupid or compilers are worse. But operating systems and graphics layers have become much more demanding. Witness the fact that computers are STILL often "too slow" at the same routine tasks they were 10 years ago, despite running 100 times faster. That's WITH a heavy-duty specialized GPU doing most of the graphics.
Apple is of course free to write a completely stripped down, optimized mini-OS for their phone, and such a thing might run very well on their chip. But the question at hand in this thread is whether such an effort would qualify as "OSX".
Re: (Score:2)
Power (Score:3, Interesting)
Stripping down OS X, simply means gutting further down to a BSD core. Like a phone running Linux, what is so strange about it? It would be a huge mistake to create a stop-gap OS simply to get it out the door, when an optimized core is probably already available. The OS that is X should be able to run on just about anything by now...
Re:Not enough CPU? (Score:5, Funny)
Really? Then how do you explain Windows?
Re: (Score:3, Informative)
Re: (Score:2)
There are tons of ARM CPU variants out there
Indeed, but the specific company that Apple have announced as the supplier of their application processors for the iPhone only produces 2 relatively low speed variants, and there are no press releases announcing future faster products.
Re: (Score:2)
Re: (Score:3, Informative)
Why not? (Score:5, Insightful)
I believe keeping the phone a closed platform, at least in the short term, ensures that the phone is stable and people get used to the design philosphy. Heck, if you read the article you will see how some of the other phone companies are very careful of who they let write software for their systems. I have a friend who had a Palm based phone and it would crash once in a while during a conversation. Sure he had installed extra software, but the point is the average user does not make the difference between the phone crashing, or third-party software causing the phone to crash.
Will they insist on controlling the access to third-party developers in the future? Maybe. In fact I wouldn't be surprised if they take the same approach as game console developers, where you have to get certified by them. You might be able to go under the radar and install uncertified stuff, but they won't support it. Though I will hope that they at least allow Java to be installed on the phones.
Re: (Score:3, Insightful)
But Windows CE is a brand new kernal, optimised for embedded. Read wikipedia or any number of other articles. http://en.wikipedia.org/wiki/Windows_CE [wikipedia.org] "Windows CE is a distinctly different kernel, rather than a "trimmed down" version of desktop Windows."
They have ported across some of the traditional windows stuff on top of it, but the kernal and probably GUI are new.
OT: Any experiences with IPhone? (Score:2)
All I want are the decent IMAP (with SSL, of course) and SSH clients...
Re:Oh, RoughlyDrafted.com (Score:5, Interesting)
Besides, why wouldn't they use MacOS X? If RoughlyDrafted's sources are to be believed, programming under Symbian would be a huge pain, Windows Mobile would look like a defeat and PalmOS is years behind the times.
I know RoughlyDrafted's author is very pro-Apple, but I don't think he's a liar. After all, simply looking at screenshots confirms that PalmOS is way behind the times, Windows Mobile has inherited Microsoft's ugly gene, and Symbian phones don't look particularly modern, either. So really, if you look at things impartially, or try to, his analysis seems sound.
I would have liked to see him discuss RIM, since RIM's phone and OS look to me like the best on the American market today other than the iPhone. But I can sympathise somewhat because it seems pretty hard to find information about RIM's OS.
Just looking at the iPhone confirms that it uses something very similar to the Quartz transparency effects and built-in anti-aliasing in MacOS X. They could build something super complex themselves that emulated these effects, or they could just use MacOS X. Seem to me their decision would be pretty simple. They just waited until phone processors and technologies caught up to the extent that MacOS X could run.
Remember, MacOS X runs quite well a 400mhz PowerBook and an iPhone has a small fraction of its screen size. So is it likely that a 200mhz processor could give good performance on a phone? I would think it would be. And is it likely that a 10gb install of MacOS X could be cut down to phone size? Sure - alternate language fonts alone take gigabites of that, and drivers and built in applications take the bulk of the rest.
Remember, Windows Mobile isn't really Windows; it's a descendent of Windows CE, which was meant to be quite different from Windows itself. So the iPhone's adoption of MacOS X could be revolutionary, as the first phone with a no excuses, fully powered OS.
People who have used the iPhone praise its responsiveness, so that's impressive by any standard.
D
Re: (Score:2, Insightful)
Re: (Score:3, Insightful)
However, I would have liked to see a more detailed analysis of Windows Mobile since it looks like it has gained some traction.
I saw a Windows CE phone a couple of years back that was so abysmal that it's easy for me to think of Windows for Phones as an awful idea.
But right now Windows Mobile is gaining ground fast and an analysis that talks about relative cellphone market shares has to take that into account and acknowledge
Re: (Score:3, Informative)
http://www.macworld.com/weblogs/macword/2007/01/i
Hope that helps.
D
Re: (Score:2)
I believe that Wince is now used to describe the kernel (and possibly some standard libraries), and can be licensed for less than the full Windows Mobile.
Re: (Score:2)
Re: (Score:2)
I expect that they will be cut down without any cruft, and rarely used functions and irrelevant (for a touch-screen interface) stuff removed as well. Never mind underlying abstraction layers that aren't needed either. But there will be libraries and frameworks that are recognisable as Mac OS X. OpenGL ES instead of OpenGL 1.4/1.5/2.0, only the required drivers for the hardware, etc...
T
Re: (Score:3, Informative)
Re: (Score:2, Informative)
As far as the GUI, etc, I'm sure they did port various libraries. MFC was definitely a port. So it certainly was more of a port than a from-scratch effort.
Dan East
Re: (Score:2)
Do you have a citation for this? Everything I can find on Windows CE history that says anything about NT explicitly states than an attempt to use NT for the basis of CE was scrapped because the footprint was too large.
Re: (Score:3, Informative)
Re:Oh, RoughlyDrafted.com (Score:5, Insightful)
The only reason why it was chosen is that the alternatives at the time were Symbian and WinCE. (Contrary to the article's statement that Linux was a viable option.) WinCE was a more powerful OS, but it demanded hardware to match that power. Symbian was not quite as powerful, but at least it ran on highly constrained devices. So it's no surprise that the phone makers tried to keep their prices down by going with Symbian.
For a company like Apple, it does make sense to use their own OS as they have the necessary support staff and experience on hand. For a company like Nokia, however, they just don't see the software as important enough. Which is too bad. They make great phones, but consistently fall flat with poor (read: buggy) software implementations.
Re: (Score:2)
RTFA. Here's the relevent section:
I have never known anyone who has claimed that Symbian has such a reputation. In fact, it has the exact opposite reputation, making the "undeserved reputation" statement a bit odd.
Does that clarify my statement for you?
Re: (Score:3)
Actually you sound like a C++ newbie for saying that. Sure Symbian OS is creaky and awkward now, but at the time it was written (mid 90s) it was cutting edge. An embedded 32 bit multitasking OS. Very rare. An object oriented OS from top to bottom? Unheard of. Leaves were a system for doing exceptions at a time when C++ didn't have exceptions. Descriptors were the most efficient way of dealing with strings and avoiding OOM errors at a
Re:Oh, RoughlyDrafted.com (Score:4, Informative)
The point in the series of articles is why Apple chose to port OS X instead of using Symbian, Linux, etc. After all, Apple doesn't use OS X on the iPod. Developing applications for mobile devices is not easy. Symbian (and Palm) have succeeded so far because their feature set is smaller and easy to maintain. Scaling up on features is harder. Windows and Linux suffer the problem of having too much and it's not easy to trim them down and which version. In fact, Microsoft did not "port" Windows CE. Porting suggests that the OS/program was tweaked to work on a different environmment, hardware, etc. Windows CE is a complete re-write and really only superficially shares the Windows name and look.
Unlike Symbian a ported version of OS X could expand its functionality. Linux is modular like OS X but Linux's problem is with standardization. Each company must maintain their own mobile Linux which makes development harder (Nokia mobile Linux, Sony mobile Linux, LG mobile Linux, etc). Having to maintain their own flavor of Linux is not something that these companies are equipped to do. Thus supporting development is not easy for these companies. Apple needs only to extend their current developers to include a mobile OS X division. Hopefully for Apple, mobile OS X, unlike Windows CE, it's not a new OS but just a new set of APIs.
How is WinCE a "Port"? (Score:2)
Since WinCE is not in any way a "port" of Windows, that statement doesn't really mean anything. Heck, WinCE is not even what many smartphones use - they use Windows Mobile [msdn.com] (which is based on WinCE but offers the common Windows-looking GUI which WinCE does not include).
That's one of the points the article was making, WinCE and Symbian are not full OS'es scaled down, but custom built OS'es meant to run on small devices. Th
Re: (Score:2)
Re: (Score:2)
Re: (Score:3, Insightful)
iPhone not smartphone (Score:3, Informative)
Re: (Score:2)
Re: (Score:3, Interesting)
Re: (Score:2)
iPhone does run third party apps (Score:2)
I can make use of GCal.
Those are third party apps.
It will be able to install and run some custom applications just as the iPhone runs games today. Those games are not always written by Apple.
How again is it not a smartphone?
Now here's the kicker - Symbian platforms are moving to signed app model, where third party app makers have to buy a Verisgn certificate to run on the SYmbian platform, at a cost of hundreds of dollars per year. Sure, that's SO MUCH more open.
Re: (Score:3, Informative)
The cost is something like 300$ per year, which is feasible for a developer/company with any significant sales. However, you can get your freeware/open source app signed for free [symbiansigned.com]. And there are no restrictions on J2ME apps. So yes, it is much more open.
Re: (Score:2)
It will be able to install and run some custom applications just as the iPhone runs games today. Those games are not always written by Apple.
I think you mean the iPod.
If you want a peek at the future of third-party iPhone apps, just look at the selection of iPod games today: there are only eleven games, from just a couple companies; they're old titles with broad but shallow appeal, nothing special, and priced just at the edge of tolerability. Five bucks for yet another version of Bejeweled or Tetris?
Now think about it from a developer's perspective. Have you ever seen an iPod games SDK? If you wanted to develop a new game for the iPod, how woul
Re: (Score:2)
Re: (Score:2)
Just one problem... (Score:2)
Yet Rim took a hit [go.com] to the stock price when the iPhone was announced. Perhaps a whole lot of people know something you'll not admit.
Not to mention you post safely AC, which shows just how confident of your predictions you really are! Always safe to predict the future when no-one knows later if you are wrong.
Then what is? (Score:2)
Please give us your definition of a smartphone that somehow does not allow for the iPhone to be considered one. I've always assumed something like the Wikipedia's definition:
Almost all phones today that sell f
Re:Then what is? (Score:4, Insightful)
Re: (Score:2)
The common definition is a phone that combines PDA & cellphone functionality. Anything else is really irrelevant.
You can install new software on it to meet your current and future needs, without having to pay the manufacturer for an expensive development license, or waiting for an "approved" developer to write, test, and sell the app you need.
By that
Plug and play (Score:5, Funny)
Sybian requires only an electric outlet and a love-starved female or homosexual lover.
My fellow geeks.... (Score:2)
Hmmm... which link should I read??? (Score:5, Informative)
* The first link explains why Apple ported OS X (obvious IMO)
* The second link explains why motorola moved to Linux (again obvious IMO)
* The third link is some thoughts from Symbian Developers.
So... if I want to find out why it's "The Platform Nokia Secretly Hates" which bloody link should I read? Bleh, bugger it, I think I'll just read none of them and complain about it instead. That's what
(Seriously though... the only bit of the summary that doesn't link to anything is the "Nokia Hate" bit so wtf man?)
Re: (Score:2, Insightful)
Re: (Score:2)
Licensing (Score:2)
I would love nothing more than to have a Fujitsu slate Tablet r
no brainer (Score:5, Insightful)
Remember, all software sucks.
Re: (Score:2)
From what I've read recently, so do programmers, we're all crappy: All we have to get right is tens of thousands of lines of code every year or so, while other staff have to contend with such difficulties as how the binding machine works, or where that cupboard should go.
Also, Executives suck (something about hubris). I'm fairly sure Marketing sucks, ask any engineer. Lawyers suck big time. And the legal system. Copyrights. DRM. Politicians. Activist Judges. Religion
Java ME (Score:4, Interesting)
Re: (Score:3, Insightful)
Not all Symbian at fault here (Score:2)
"Some operators are requiring the phones to be locked for any apps not carrying a 'Symbian Signed' certificate. Which means, you have to pay for a certification process where you are checked by Symbian, why you developed the application and why you want to use certain capabilities on the phone, e.g. read and store user data, using the telephony APIs, or the WIFI capabilities etc."
You can't really blame the OS for what some stupid American operators do with it surely?
Other comments like frag
Re: (Score:2)
"the majority of todays smartphones" (Score:2)
Re:"the majority of todays smartphones" (Score:5, Informative)
* Qualcomm no longer makes handsets.
* Casio is a very minor player worldwide.
* DoCoMo is not a handset maker, it is the Japanese version of Verizon.
* Hitachi: do they still make mobile phones?
* Samsung *is* the third largest mobile phone maker in the world.
Of all the world's smartphones, 95% run on one of three platforms: Symbian (Nokia, Sony Ericsson), Blackberry (RIM) and Windows Mobile (HTC, Samsung). Samsung, with the BlackJack, is a small player. Trust me, the world's best selling smartphones are in the Nokia N- and E- series. After Nokia, HTC is almost certainly the second best selling smartphone maker.
*Globally* Symbian is not an irrelevance.
Re: (Score:2)
Re: (Score:2)
Cheers, Robert
Only half true (Score:2, Insightful)
Symbian, after all, provides APIs to natively interact with the OS and many of the phones hardware....this native interface requires applications to be written in C/C++. This type of development is what most people (more specifically, those in the article) complain about. I have never developed a "native" application for symbian. The main reason for this is that the IDE's and environments which nokia provides are not available for OS X.
I
What a lousy bunch of badly written negative artic (Score:2, Interesting)
Symbian has grown a fair bit over the years. Its still as easy to use as ever.
I've gone through the certification of apps a couple of times (for personal usage), and its ridiculously easy.
There are 4 distinct variants of Symbian - S60v3 and S60 prior to v3, UIQ and the Japanese DoCoMo releases.
On the more popular S60v3 platform (on new releases) there is a huge array of full blown office apps;- wordprocessing, spreadsheets, extremely workable GPS applications, s
Re:What a lousy bunch of badly written negative ar (Score:2)
Speculatively speaking, even if Cocoa i
just another pro-Apple site (Score:5, Insightful)
Origins: Why the iPhone is ARM, and isn't Symbian
The Egregious Incompetence of Palm
More Absurd iPhone Myths: Third Party Software Panic
More Absurd iPhone Myths: iSuppli, Subsidies, and Pricing
The Spectacular Failure of WinCE and Windows Mobile
OS X vs. WinCE: How iPhone Differs from Windows Mobile
Apple's OS X: How Does it Fit on the iPhone?
Why OS X is on the iPhone, but not the PC
Apple iPhone vs LG Prada KE850
Phone Wars: iPhone vs TyTN, Treo, Pearl, E62, P990, Q
Smartphones: iPhone and the Big Fat Mobile Industry
Cingular Apple iPhone vs. Verizon Motorola Q
Zune vs. iPhone: Five Phases of Media Coverage
Inside the iPhone: FairPlay DRM and the iTunes Store
Inside the iPhone: Wireless and Sync vs. Palm, WinCE
Inside the iPhone: UI, Stability, and Software
Readers Write About iPhone, 3G Wireless Networks
Inside the iPhone: Third Party Software
Inside the iPhone: Mac OS X, ARM, and iPod OS X
Inside the iPhone: EDGE, EVDO, HSUPA, 3G, and WiFi
Macworld: Ten Myths of the Apple iPhone
Macworld: Scorecard and Secrets of the iPhone
if that doesn't give you the idea...
However, none of this precludes the article itself from being an objective look at the Symbian platform. But it seems the writer fails to rise up to the occasion, and just delivered some hearsay from supposed "developers" and "executives".
So I dug around a bit more, read a few more paragraphs from different articles, while the writing is better than average and more technical than most, it still seems to read like every other fanboy site, this case the fanboy being an Apple fanboy, which means that absolutely every-fucking-thing that Apple/Jobs does is the total awsomeness double plus good. If only the writer(s) could be slightly critical just every now and then to give the articles that sense of non-PR-ness.
In the article "Phone Wars":
"The iPhone is closer to being a micro-laptop using flash RAM than a conventional smartphone."
This about a unreleased product with only a few grainy photos... then it goes on to bash all other "competitors" and actually just short of _praising_ Apple for not including 3G into the iPhone.
Then in the features the iPhone has 4096 MB of RAM! holy moly. I understand that with handheld devices RAM can sometimes be used for both storage and running programs, like in my trusty Palm E2, but for all other phones, only the RAM is listed and not the storage-use ROM, and yet the iPhone is listed with 4Gb of RAM! I dunno, doesn't sound like even-handed treatment.
Yes, but look past that... (Score:2)
s very analytical).
But that does not mean the articles can be of no value, despite the slant - the summary of the history of Symbian and Palm and Linux and WinCE is very good, even if motives ascribed to companies are more suspect. But the timelines are right, and the long letter from the Symbian developer is hard to dismiss especially since I have heard similar thoughts from other deve
Re: (Score:3, Interesting)
Secretly? Nah... (Score:5, Funny)
I heard about this on Howerd Stern... (Score:2)
Oh, wait... Nevermind.
Misconceptions in TFA (Score:5, Informative)
As a Symbianophile (and a former Symbian employee) allow to point out some mistakes the author of the TFA has made:
"Nokia's POS/OS. Sources close to Nokia say that Symbian is secretly regarded inside the company--even among high level senior executives--as a "peace-of-shit-OS," explaining that "Finnish people usually have a very coarse language.""
Well from the POV of a SymbianOS developer, it's Nokia that have screwed things up with a very buggy "middleware" S60 layer where (the rumours have it) much of the functionality has been implemented by summer interns and there are some long standing bugs with S60 that make SymbianOS look bad
"And of course UIQ has never been source code nor binary compatible with S60. But still you get the impression from analysts and media that 'Symbian' is one stable OS."
Although they aren't binary compatible, the fact that they both sit on a X-windows-esque Eikon windowing layer means that their Windowing systems are in fact very similar and it's easy to cross-compile for both. Remember that UIQ is for the most part Pen-based whereas S60 is numeric-keypad-based (broadly speaking) and it in fact impressive that these two separate systems can be so easy to port between thanks to them both sitting on SymbianOS for most core tasks.
"Symbian Signed ... makes shareware and hobby programming almost impossible ..."
... I'm sure /. readers understand the necessity for signed s/w on mobiles. Also the point (unquoted) about needed full certifcation is misleading - it just means the user gets are warning dialog like many modern OSs. The situation with J2ME midlets is much the same.
"Some operators are requiring the phones to be locked for any apps not carrying a 'Symbian Signed' certificate"
The biggest issue all of us in the industry have is the power of the network operators customising and locking users in/out of features - this will occur with any OS (and does already with PocketPC) due to he unfortuant power of the networks who control the industry.
"Crippled C++ support They made their own home-cooked version of exceptions called Leaves"
SymbianOS v9 (S60 v3+, UIQ v3+) can use exceptions (although they are Leaves under the hood) - happy now? The point TFA makes here is very uninformed as Symbian jumps through hoops to make it difficult for apps to leak through the combination of CleanupStack and Leaves
"Limited support for multi-threading That was hardly even a relevant argument in 1993 but it meant that Symbian uses 'active objects' instead of threads in almost all applications."
In fact, the cost of a OS context-switch is still high when every bit of battery power matters - battery technology hasn't changed that much since 1993
"Bad development environment ... need to install Visual Studio 2003 to make it work ..."
Carbide.c++, which is based on Eclipse and CDT, is the only IDE Nokia is supporting from now on and it's great and stable. The author admits "My first installation a few years ago" ... nuff zed.
and there's moreRe:Misconceptions in TFA (Score:4, Informative)
So while these are good trends, in a way it's too little, too late: until SymbianOS 9 captures enough of the market that we no longer have to deal with earlier versions of Symbian, we can't use exceptions. And converting our build process to Carbide, while it may make life easier, is one of those apparent high-cost zero-reward projects to management which is highly unlikely to be given a high priority by management.
But for new development--you're right. And if you're doing new development, it's far easier to get rolling on Microsoft Windows CE--whose market penetration is gaining on Symbian.
As someone who recently moved to a project which is targeting WinCE (PocketPC and SmartPhone) and Symbian (UIQ and S60), and which is considering targeting various Linux phones, I have to largely agree with the analysis in the original article about Symbian. What the author doesn't point out, however, is that there are similarly egregious design decisions in WinCE and Linux cell phones which make them also somewhat problematic platforms.
For WinCE:
Extremely heavy weight applications. If you decide to use
Windows API doesn't map well to SmartPhone use. Generally most applications are, from a WinCE perspective, "full screen" applications. The WinCE layer appears to have full support for creating framed dialogs and windows--yet on a device that is 220x180 pixels in size, do you really need or want a 32-pixel title bar?
Where this makes things really awkward is when dealing with switching applications using the 'back key' or when relaunching the currently running instance of your application. See, while the user sees just his little LCD display, what is going on under the hood is a multitude of windows layered in Z-order with the current display being the topmost window. While this doesn't generally matter, it is possible (and is a common bug, fixed by using something like
WinCE Smartphone "smart keys" menu ill-designed. Like all other pieces of Windows, the smart keys bar at the bottom of the screen live in its own, separate window. It's not handled like the Apple menu bar at the top of the screen on System 7: a drawing region that is not a window, which obeys its own rules. Instead, the smart keys bar is its own window, with its own z-ordering, created by a new shell call which, if not managed correctly, breaks the illusion of simply being a label associated with the buttons.
Inconsistency in UI decisions between PocketPC and SmartPhone. One of my personal gripes: the UI on SmartPhone for most applications include a "cancel" button as one of the choices for dismissing dialogs--but on PocketPC, generally you only have an "OK", implied when you close the dialog by clicking in the upper-right 'close' box. It's a minor thing, but if you're writing code that targets both platforms,
Re: (Score:2)
>In fact, the cost of a OS context-switch is still high when every bit of battery power matters - battery technology hasn't changed that much since 1993
Say more, please? A thread context switch is simple and quick. Even a context switch for a full heavyweight process doesn't change the display's power draw or (shudder)
Eran = Fanboy BUT... (Score:5, Interesting)
iPhone in my mind is just the MacMicro, which is the logical extension of the Mac Mini. The phone function may not be the most important feature for a lot of users, including my wife, and her friends. My wife has 30 years of friends in her 1.5" thick paper address book, and her interior designer friend has about 3000 phone numbers from 35 years in her business. They both panic when they think they have lost their "book". The iPhone, for them, will be the reason to move the paper lists into the 21st century. This seems old hat to a programmer or heavy computer user, but lots of people just don't find it EASY to implement computer based records as an individual.
Apple's iPhone is on the right track, and since it is totally software driven, applications are virtually free to implement actions free of mechanical button constraints.
Apple does have a history of delivering on innovation:
1. Easy to use interfaces
2. Logical consistent icons/dialogs
3. Programming ease delivered to developers
4. Pretty good hardware all things considered, including the bum items (I've owned a lot of them)
5. Hardware that is nearing 8 years old still humming along just fine on OSX.
6. Recognition of what is needed to keep the user experience successful to drive adoption
7. Delivering basically what they said they would on OSX
I think that once iPhone is delivered, we will find that if an individual developer wants to implement his own application, say an HP 15 emulator, that it will be a straightforward process to get it certified and offered to iPhone users.
Apple collectively is not dumb about involving developers, and with the volume of phones in the world, they know they need them for localization & specific industry, hobby & connectivity issues.
I like Apple (& use Windows too), but think Apple is far and away ahead of the game in mobiles, because of the way they set up OSX and its developer tools.
Re: (Score:2)
I think that once iPhone is delivered, we will find that if an individual developer wants to implement his own application, say an HP 15 emulator, that it will be a straightforward process to get it certified and offered to iPhone users.
First, that's pretty optimistic. Apple certainly didn't make it straightforward to develop iPod games. If you've been developing Mac games for the past 10 years and want to move to the iPod, you're out of luck; it's a closed process, and you're not welcome. That's why there are only 11 games, including such ancient titles as Bejeweled and Tetris, and half of them are from EA.
Second, suppose they do make it straightforward: you download an SDK, write your app, submit it for testing, and if it passes, they s
Re: (Score:2)
Sure Apple would take its cut on the iTunes sale of an iPhone add-on, but Apple is going to be well deserved to earn that amount based on offering solid software, easily and conveniently to each user, with an Apple guarantee of maximum compatibility with the iPhone (& Mac no doubt).
I think we are pre-judgi
Re: (Score:2)
If you look at the potential volume of "smart" handsets and the potential 3rd party add-on sales, then it looks like the sheer numbers make the profitability such that Apple would want to sell add-ons.
Of course. That's the point! They want to sell you software; they don't want you installing freeware or writing your own.
Sure Apple would take its cut on the iTunes sale of an iPhone add-on, but Apple is going to be well deserved to earn that amount based on offering solid software, easily and conveniently to each user, with an Apple guarantee of maximum compatibility with the iPhone (& Mac no doubt).
Maybe so, but that doesn't justify locking everyone else out. A lot of software simply won't get written because of these restrictions. If they were just trying to maintain quality, they'd offer to sell well-tested software but still let users install their own untested software.
Mac compatibility is a non-issue. Very few phone apps need to interoperate with a computer at all.
I think we are pre-judging Apple to quickly with something that is not yet out or implemented.
What's wro
How do they know? (Score:2)
Apple fanboys get more and more sickening the farther from reality they get.
Article Corrections (Score:5, Insightful)
Symbian certainly has its quirks, but this article is based on a lot of information that is no longer correct or even relevant.
1) The article states that no objects are deallocated on a 'leave'. This was true prior to 9.1. You had to manually push objects on a cleanup stack which would deallocate objects during a leave. However, with 9.1 the underlying leave mechanism is a standard C++ throw, meaning that the stack is unwound and all objects are properly deallocated (just like any other platform). The only limitation is that Symbian (for compatibility reasons I'm sure) chose to keep the throw hidden behind the User::Leave interface meaning that only integer exception codes can be thrown. You CAN actually throw an exception object with a normal 'throw SomeObj()' statement, but if it is uncaught the application panics.
Functionally this means that Symbian supports 'real' exception semantics, although it is limited in its support for full blown exception objects. It's 3/4 of what we want, and with some careful planning (managing the list of error codes) it provides fairly robust exception handling system.
2) String handling: Descriptors are a horrible convention. However, there is nothing stopping anyone from implementing their own more standard dynamic string class. That's what we did. A conversion operator allows us to automatically convert to/from descriptors with very little trouble (TPtrC is a wonderful thing). From our applications perspective strings are very much the dynamic strings we know and love on other platforms, with the Symbian descriptor bits abstracted away.
3) Threads: The EKA2 Kernel has great threading support. Their use may be 'discouraged', but that is far different from not having them available. We utilize threads when they make sense and have had no issues. Writing a multi-threaded application on Symbian is really no different than any other platform I've worked on.
4) The development environment is most definitely a problem. I've never had any issues getting the SDK's installed and running (although I have managed to corrupt SDK's on a few occasions;->). The command line build system is functional. The IDE's on the other hand, have been quite bad. Carbide 1.1 is an absolute mess, Codewarrior (the default development environment for years) is quirky, and working within Visual Studio is a largely manual process. From what I've heard about the new version of Carbide (1.2), this situation is going to be getting MUCH better in the near future (ahead of the iPhone release).
Symbian has really come a long ways in the last couple of years. We've done a lot of work to make it a more standard environment for our development efforts. Outside of direct UI work, a engineer at Quickoffice has to have very little direct Symbian knowledge. All of the standard C++ mechanisms are available (with the exception of exception objects). About 70% of our code is directly compilable on other platforms with no modification (the rest deals directly with Symbian API's).
There is even STL support available (I beleive Penrellian has a port up and running, we utilize stlport), which makes Symbian a fairly standard platform. It definitely has it warts. Many of the API's are undertested and rather poorly thought out. The documentation is often non-existent and the differences in emulation and device can be infuriating (sometimes it even breaks between two different devices). It is a evolving and ever improving situation, however. I hardly think that Apple has a 5 year lead over anyone.
Re: (Score:2)
Good - now get on and code something OO compatible (Score:2)
Re: (Score:2)
http://www.roughlydrafted.com/ [roughlydrafted.com]
Re: (Score:3, Informative)
2) P990 is running Symbian UIQ I believe
3) Your coders are smart, there are 2 billion devices running sort of J2ME and J2ME 2.0 gives them everything, even 3d support with some JSR extensions. There are only 100 million devices running Symbian.
I agree to UI point of view but there is a p