Slashdot is powered by your submissions, so send in your scoop

 



Forgot your password?
typodupeerror
×
Software Programming IT Technology

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."
This discussion has been archived. No new comments can be posted.

Inside Symbian: the Platform Nokia Secretly Hates

Comments Filter:
  • Comment removed (Score:5, Insightful)

    by account_deleted ( 4530225 ) on Monday February 05, 2007 @10:39AM (#17889232)
    Comment removed based on user account deletion
  • no brainer (Score:5, Insightful)

    by Clover_Kicker ( 20761 ) <clover_kicker@yahoo.com> on Monday February 05, 2007 @11:02AM (#17889486)
    I'm pretty sure there isn't a development platform anywhere that programmers don't hate.

    Remember, all software sucks.
  • by p3d0 ( 42270 ) on Monday February 05, 2007 @11:05AM (#17889526)
    I also have a Motorola phone and hate it.
  • Not exactly a situation where anyone "hates" Symbian, secretly or otherwise, more a situation where certain platforms work out better for certain companies.
    Except that the companies who use Symbian do *hate* Symbian. I don't have any clue why the article states that Symbian has an "undeserved reputation". Its faults have been well known for quite a while now.

    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.
  • Not enough CPU? (Score:5, Insightful)

    by Ed Avis ( 5917 ) <ed@membled.com> on Monday February 05, 2007 @11:20AM (#17889704) Homepage
    The NeXT Cube had a slick, very usable graphical interface (the direct ancestor of Mac OS X) and a productive development environment using Objective-C. Its processor was a 25MHz 68030. There isn't any magic spell that has been cast to make programmers more stupid or make compilers worse over the last twenty years. It sounds like the iPhone has at least five times the processing power of the NeXT Cube. There really shouldn't be a problem running a 'real' operating system on it, nor should it require slaving away tweaking assembler opcodes by hand to get it to run at a reasonable speed.
  • Only half true (Score:2, Insightful)

    by bennini ( 800479 ) on Monday February 05, 2007 @11:24AM (#17889754) Homepage
    The article only describes about half of what symbian is all about...
    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 can attest though that Symbian (read Nokia series 60) provides an awesome JVM and set of support APIs for accessing messaging, bluetooth, networking and various other system resources. CLDC and MDIP (1.0 and 2.0) provide great libraries for developing apps well and very fast on Symbian. I have developed several Java apps for Symbian (including one which fetches the latest articles from the /. front page :-) ), and up until now have loved how easy it has been to deploy apps via bluetooth to the phone. Of course this may change with Series 60 v3 and the new "security" garbage...yet another reason to purchase an E61 now before they decide to upgrade all their decent phones to s60v3.

    It does seem though that the article is a bit biased towards the iPhone. But until i see guaranteed proof that the iPhone will include a JVM and support libs for java development on it...i won't consider it "5 years ahead of everything else." And Apple's apparently lack of support for "hobby" development on the iPhone isnt much of a turn on either. So we'll have to wait and see. I wouldn't say Apple chose their own homebrew stuff over symbian because "symbian is crap" but rather because many of the things which Apple likes to do (Cocoa based guis) simply wouln't run on Symbian.
  • by Threni ( 635302 ) on Monday February 05, 2007 @11:27AM (#17889788)
    See if you can find a link that explains that Nokia hates a company it's the largest single shareholder of.
  • by semiotec ( 948062 ) on Monday February 05, 2007 @11:31AM (#17889848)
    check out the article list:
    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.

  • Why not? (Score:5, Insightful)

    by Midnight Thunder ( 17205 ) on Monday February 05, 2007 @12:09PM (#17890364) Homepage Journal
    With everything I have read, I would tend to believe they have ported the system. After all the core of MacOS X: Darwin, wouldn't take much more porting effort than Linux to an ARM architecture (assuming there was no hardware support previously). Once the core OS has been ported, it doesn't take much more effort to port the essential frameworks. There are probably a large number of features of OS X that have been left out, but does this make it any less "OS X", than Windows CE is Windows? Maybe they exclusion of the 'Mac' in the "OS X" reference was a reference to the UI design, much in the way Microsoft differentiates Windows CE and Windows XP? (supersition on my part)

    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:Java ME (Score:1, Insightful)

    by Fizzl ( 209397 ) <<ten.lzzif> <ta> <lzzif>> on Monday February 05, 2007 @12:10PM (#17890388) Homepage Journal
    Ahem... I take it that you haven't actually developed all that much for phones?
    J2ME is ridiculous toy at the moment. Only thing it's good for is writing unit tests for test applications that test API's (and fail).

    True, that it's much easier to get started than Symbian framework, but you can't actually do all that much with the available API's.

    Symbian is beautyfull digital masturbation of OS PhD's. It's very clever because of it's memory handling and so on. It's a pain in the ass to develop to thou.
  • Re:Not enough CPU? (Score:4, Insightful)

    by sacrilicious ( 316896 ) <qbgfynfu.opt@recursor.net> on Monday February 05, 2007 @12:22PM (#17890540) Homepage
    The NeXT Cube had a slick, very usable graphical interface (the direct ancestor of Mac OS X) and a productive development environment using Objective-C. Its processor was a 25MHz 68030. There isn't any magic spell that has been cast to make programmers more stupid or make compilers worse over the last twenty years.

    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".

  • by enjo13 ( 444114 ) on Monday February 05, 2007 @01:55PM (#17892144) Homepage
    I am the lead technical architect for Quickoffice (http://www.quickoffice.com). You might say we have developed a few Symbian applications in our day;)

    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:Then what is? (Score:4, Insightful)

    by Mr2001 ( 90979 ) on Monday February 05, 2007 @03:10PM (#17893432) Homepage Journal

    Almost all phones today that sell for more than $50 are smartphones. The iPhone has calendaring, contact lists, a notepad, a web browser, a GPS navigation system, and so on, and so on.
    That is not a common definition of "smartphone". Go to any cell phone store and ask to see the smartphones; they'll show you to the Blackberries and Treos.

    If that isn't a smartphone, then I'd love to hear what phone on the market is one. What exactly can you do with a PDA that you can't do with an iPhone that overrides everything it can do?
    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. If you can't download an app from the internet and install it on your phone, it's not a smartphone.
  • by Dputiger ( 561114 ) on Monday February 05, 2007 @03:15PM (#17893508)
    My problem with RoughlyDrafted (and its author) isn't that he's pro-Apple, it's that many of his "analyses" are so fundamentally flawed. He clearly has no understanding of even the most basic tools of research methods or statistical analysis--or simply chooses to ignore them. I dislike seeing his contributions on Slashdot, not because I'm against his opinions, but because the methodology he demonstrates as "proof" in his various articles is (and remains) so fundamentally broken.
  • by daviddennis ( 10926 ) <david@amazing.com> on Monday February 05, 2007 @03:53PM (#17894082) Homepage
    In the case of Palm, Windows Mobile and Symbian, though, I think he has good points.

    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 Windows Mobile as a serious competitor.

    Aso, he's ignored RIM/Blackberry and its intensely loyal users. With more consumer-friendly phones and more modern design, I would expect RIM to gain market share against both Windows and Palm. I'm curious as to why that has not happened to the extent I would expect. Blackberry is a much loved brand by its main market, after all. A suvrey of IT professionals rated it second in overall quality and reliability among vendors, and the #1 vendor was not a competitor.

    I did a similar analysis to RoughlyDrafted some time ago and came to to a simiilar conclusion. I looked at the iPhone, Treo (Palm and Windows versions), Sidekick IV and Blackberry Pearl.

    I felt the Treo looked downright old-fashioned, the Sidekick had a low-resolution display they should have improved a generation ago, and Windows Mobile had a user interface both bland and hard to read. That left the Pearl, which I really liked except for its bizarre keyboard. My conclusion was that many of the companies making phones were highly complacent and deserved a big kick.

    They also had web sites that had so many pictures of spinning phones that I found myself getting seasick, and my computer almost crashed from the ordeal. The super-elegant nad comprehensive presentation of the iPhone interface on Apple's site looked like a safe haven of perfection compared to how awful the competition's sites were.

    Later on, I visited a Cingular store to ask about the iPhone, and a helpful fellow showed me the closest equivalent, the Cingular-branded large screen Windows Mobile touch screen phone. I pulled up my web site on Internet Explorer and you can imagine how pleased I was when it came up, looking pretty good. I was able to log in with the very nice keyboard and play around. But the process of scrolling was awkward. The idea of shrinking the web page to fit the screen and then letting you expand it is truly a work of genius on the part of the iPhone's inventors. The price of $419 makes me think the iPhone is competitively priced - you pay a bit more but you get a lot more in return.

    So if I want a genuinely useful and usable web surfing device that will work whether I'm in WiFi hotspot or not, it seems like the iPhone reigns supreme.

    RoughlyDrafted may be biased, but sometimes its conclusions hold up. I think this is one of those times.

    D

  • Re:Java ME (Score:3, Insightful)

    by Myolp ( 525784 ) on Monday February 05, 2007 @04:50PM (#17894912)
    I have IM-clients for both MSN and Google Talk in J2ME. The GMail-client from Google is a J2ME app. I have used tons of games (some bad, some very good), all written in J2ME. I have a really cool J2ME app that interacts with a national map service (eniro.se). I have telnet/SSH client written in J2ME. Yeah, J2ME is ridiculous and completely useless...
  • by TheRaven64 ( 641858 ) on Monday February 05, 2007 @05:25PM (#17895442) Journal
    What went wrong? I used to own an EPOC16 device, and it was a joy to use. It did multitasking and ran a really nice spreadsheet on a 8MHz CPU with 256KB of RAM (some of which was used as a RAM disk for file storage). It came with a simple-to-use development environment, and writing simple applications was trivial. Sure, it only supported a 1-bit display on my device, but it did everything I wanted from a palmtop (throw in a web browser and mail client, and it would still now). How did they get it so wrong when they moved to EPOC32/Symbian.
  • Re:Why not? (Score:3, Insightful)

    by AaronLawrence ( 600990 ) * on Tuesday February 06, 2007 @02:13AM (#17900916)
    Perhaps you're thinking of the XBox, which uses a stripped-down Win2K kernal.

    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.

Remember, UNIX spelled backwards is XINU. -- Mt.

Working...