Slashdot Mirror


An Exploration of BlackBerry 10's Programming API

Nerval's Lobster writes "BlackBerry 10 is completely different from previous BlackBerry operating systems — with good reason. Its core assets come from a company named QNX, which Research In Motion acquired in 2010. Blackberry 10 features include 'live tiles' that dynamically refresh with new information, as well as a revamped keyboard and security upgrades. But what really makes or breaks a phone is the quality (and quantity) of its third-party apps. Jeff Cogswell pokes through the BlackBerry 10 programming API in a quest to see what app developers can do with the platform, and how it compares on that front to Apple iOS and Google Android. His conclusion? Although some of the underlying components are showing their age, BlackBerry has 'spent a lot of time building up a foundation for a good development community.' He also goes over BlackBerry 10's viability for porting apps and building games. But will developers actually work with a platform with such low market-share?"

18 of 100 comments (clear)

  1. Re:Garbage. by inglorion_on_the_net · · Score: 4, Interesting

    This is exactly the reason I haven't learned Android development. Why have me learn new APIs for old things? Give me the same APIs that I'm used to on the desktop to the extent that these are compatible with the mobile environment, and then I'll learn the APIs that are specific to the niche I'm developing for. And that's exactly what BlackBerry has done.

    --
    Please correct me if I got my facts wrong.
  2. Re:Garbage. by hedwards · · Score: 3, Insightful

    Being consistent with the API is more or less meaningless if you've only got a few dozen users.

  3. Re:Garbage. by i+kan+reed · · Score: 2, Insightful

    My opinion is like this, but less antagonistic. Developers go to three places as far as APIs are concerned:
    #1. Where the money is. Sorry blackberry you missed that train. iOS or android is going to be far better in that regard.
    #2. Where it's fun. Something about business oriented phone software doesn't call me in that regard.
    #3. Where it's really, really, really easy to whip out applications. Maybe, but I doubt it.

  4. Re:bad_management() by i+kan+reed · · Score: 2

    Bad management is always protected. You can get at bad management when you inherit from Bad Management.

  5. So where is the customer demand? by hsmith · · Score: 3, Informative

    If BB pitch is to corporate clients (still) - how do they plan to attract all these devs who certainly don't care about the enterprise and much, much smaller target market.

    Our mobile app, we have built native for Android and iOS. We've had a grand total of one person ask for BB and one ask for WP8. We simply have no interest in investing the money to build for something no one cares about.

  6. Re:Crack by Unknown1337 · · Score: 3, Insightful

    Saying it, doesn't make it true. The numbers were well over a million z10 sold in North America alone. The q10 is expected to do even better.

  7. Really want this to suceed by inglorion_on_the_net · · Score: 4, Insightful

    I really want this to succeed. First of all, QNX is awesome. I had the pleasure of working with it back in the day when they had the 1.44M demo disk (http://www.youtube.com/watch?v=K_VlI6IBEJ0 has a video). At a time when GNU/Linux was working on getting POSIX-compliant and X was clunky and required some expertise to set up, QNX offered an OS with POSIX-compliance, real-time capabilities, a package manager, a GUI that worked out of the box, and managed to produce a 1.44M bootable diskette that showed off the OS with GUI and web browser.

    Secondly, I want my software to be efficient. I'm sure you can do great things with J2ME, Dalvik, or even HTHL and JavaScript. But if you want the best performance or resources are at a premium (hello, battery-powered mobile devices!), you can do better by being closer to the metal. And we have APIs and programming languages that allow us to program closer to the metal. BlackBerry allows us to use those APIs and languages. The author of TFA makes fun of the BlackBerry APIs being in C. I see that as an advantage. You can easily build abstractions on top of low-level APIs. Getting efficiency back once it's been lost in someone's abstraction layer isn't as easy.

    So, while it seems popular to make fun of BlackBerry these days, I really want them to succeed. I think they've made a great product that deserves our consideration. Of course, they have low market share and strong competitors - but then again, so did Apple when they launched the iPhone, and Google when they launched Android.

    --
    Please correct me if I got my facts wrong.
    1. Re:Really want this to suceed by Animats · · Score: 5, Informative

      First of all, QNX is awesome.

      It is. It's a real-time microkernel based OS. The kernel is about 60K bytes. All it does is manage memory, timers, and message passing. Everything else is in user space. There is a hard upper bound on interrupt lockout time, and it's around a microsecond.

      This is what you want to control complex real-time systems that need tight coordination. All the Boston Dynamics robots, BigDog, ATLAS, etc. run QNX. The servo loops are running at 1KHz on those robots. Tight real-time coordination of all those complex motions requires a true real-time OS. (The robots that run ROS/Linux are more sluggish.)

      But, after totally botched marketing, the death of the main designer, two sales of the company (to Harmon and then RIM), and transitions from closed source to open source to closed source to open source to closed source again, QNX, the company, has blown it.

      None of this has any bearing on smartphone sales. They're not a hard real time problem. You could write the entire UI in HTML/CSS/Javascript and it would work fine on current processors.

    2. Re:Really want this to suceed by Just+Some+Guy · · Score: 3, Interesting

      On paper and in source code QNX is amazing.

      In reality it was a little "meh". RTOSes are amazing when you need them, but those low latencies come at a cost of lower throughput and higher kernel overhead. Basically, context switch counts go through the roof anytime anything interesting at all is going on. The gist of it is that you can't write a big, sophisticated interrupt handler; you have to break it up into tiny evented pieces that can return before the hard deadline expires. That has lots of design implications.

      Contrast with an end user OS where the price of too much latency is that screen refreshes aren't as smooth as they could be. The kernel can wave that away on modern hardware by making timeslices sufficiently small that no app gets to use so much CPU that others are greatly affected.

      I have nothing against QNX! It's a great OS for its niche. I have zero desire to use it as a client OS, though, because its advantages aren't significant enough in that problem space to outweight its considerable disadvantages.

      --
      Dewey, what part of this looks like authorities should be involved?
  8. Re:Crack by JustOK · · Score: 3, Funny

    did you know that the US and Canadian versions of the Z10 are different? In the US it's the zee 10 and in Canada it's the zed 10. Amazing!

    --
    rewriting history since 2109
  9. Re:Garbage. by narcc · · Score: 2, Insightful

    It's funny, a study last year from Evans Data Corp (surprisingly?) showed that BB developers earned significantly more than their iOS and Android counterparts -- with a full 13% netting over 100k.

    To your comment, a consistent complaint from Android developers is how difficult it is to make money on the platform. You can see this reflected in the results of the earlier mentioned study.

    For the big-name players, BB might not be as attractive. For small and medium sized shops, however, targeting BB10 is clearly a smart move.

  10. Re:No Objective-C? by BasilBrush · · Score: 2

    Supporting Obj-C isn't much good unless they also have Cocoa-Touch.

  11. Re:Garbage. by crazycheetah · · Score: 2, Informative

    Source Link for you

    Same study also found that "Android Market" was the most used, so it's attractive for volume (once your app is actually visible on the play store--as noted in the link I provided, that's the largest complaint about it).

  12. Re:Garbage. by DogDude · · Score: 2

    Being consistent with the API is more or less meaningless if you've only got a few dozen users.

    It depends on who those users are. Believe it or not, not every "app" developer is trying to create some consumer-level app that reaches millions and millions of people. I own plenty of software from companies that may have only a few hundred customers, but they're doing just fine. Not every successful business has to cater to all people In fact, some of the most profitable businesses I know don't cater to all people.

    --
    I don't respond to AC's.
  13. Re:Garbage. by Dancindan84 · · Score: 2

    Someone mentioned this above, but part of the problem with assuming BB missed out on #1 is in assuming that there's only money in greater market share. Remember that Blackberry's niche is more business than consumer. If someone can come up with an app that's attractive to business they can charge more, making up for the lack of market share.

    It's similar to a discussion that cropped up the other week about the cost of medical software. It can often cost 10's or 100's of thousands of dollars because of a small, professional customer base.

    Basically, just because you can't make money selling .99 cent games in the BB app store because of lack of market share, doesn't mean you can't make money on a $20+ app that's attractive to businesses who tend to provide employees with Blackberries.

    As to what that app is, or even if it exists, I don't know. If I did I wouldn't be wasting my time commenting here.

    --
    "Always forgive your enemies; nothing annoys them so much." - Oscar Wilde
  14. Re:Crack by notknown86 · · Score: 2

    Sold one million to one customer alone in North America, that should be.

    Given that no-one is admitting to that purchase, is it beyond the realm of belief that they brought those themselves?

  15. Re:Garbage. by rasmusbr · · Score: 3, Insightful

    It's pretty hard to make money selling $0.99 games on Android too when you're up against hundreds of other games being released per day.

    Most of those games are crap, or fun but unpolished hobby projects, but some of them are serious and polished with hundreds if not thousands of man-hours of development gone into them. I suspect few of them come close to recouping their team's time investments even when you consider that many of the teams are working out of India and other countries with similar income levels. There are plenty of fun, quality games with fewer than 100,000 downloads of the free version and fewer than 1000 purchases of the paid version, which means the devs can't have made much more than $2000 on the market, less when you subtract Google's cut and even less when you subtract taxes. A team of, say, three Indians can't live six months on that.

    Developing a game is a long shot on any platform unless you're a studio with a proven team of good developers and designers and marketers.

  16. Re:Apps?? by Carewolf · · Score: 2

    Well, I expect to be able to SSH into machines, to be able to tunnel through SSH, to have GPG encryption/decryption. That's kind of the minimum, and since few (no?) systems have built-in support for this apps are quite critical to me.

    The Nokia N9 had built-in terminal and SSH, though I think you had to activate developer mode before the icons showed up on the home page.