QNX-How Blackberry Can Win (Big) In The Mobile World
From the article: Blackberry has "a clean shot at changing forever how we think of and use that little brick in our pocket."
"Anything that can be used on one device in one place can be used on any other, as if were local, constrained only by the size of the pipe between the two physical points.
Suddenly, the model of "apps" is turned on its ear. Any resource on any QNX-operated device can theoretically become available to any other QNX-operated device -- seamlessly."
How Blackberry Can Win (Big) In The Mobile World in [Market-Ticker]
- CrackBerry Abuser
02-08-13, 09:29 PM #2
- 114 Posts
Wow, the comments section at the bottom of the article above has some pretty advanced discussion of QNX and distributed computing for those interested, just go to the bottom and click the link. Here's one comment:
I believe IMHO that you are thinking in traditional non-distributed computing, which is one of the inherent legacy problems of the current Linux/BSD "everything in the big kernel and it controls the file system" world. This is not uncommon from UNIX bred programmers. The concept of a non-human command kernel (aka nano-kernel or "non-command and non-file system kernel") and the end of the file system in nano kernels is even harder to accept by most of the established UNIX community but that's another story.
The QNX crowd came to technological maturity in Canada at around the time of the "Great Abstraction" in computer science, the 1970's. During that time many researchers were investigating abstraction as a way to unify diverse and uniquely optimized to a platform types of computing architectures. The belief was that as processor speeds and I/O improved, one could overcome the advantages of particular architectures and build abstraction engines that could allow for many emulations and ports. Some folks went into hardware abstraction like the RISC engine under John Cocke, IBM's Future System (which later became the IBM System/38 the AS/400 then iSeries) and some went into the software and network like DECNet and QNX).
The QNX dogma is that the kernel should have only the basics (IMHO it has too much today - thus the emergence of nano kernels and other types of kernels) to run and that everything else is an application that runs in a region or space, communicating via a common messaging interface.
This would mean that the presentation space to a human (aka UI) runs as an application and does its function as it receives messages from another application. The beauty here is that technically speaking (security, network, performance and directory services aside) it can receive its messages from the same application running in another system and it appears the same. Ditto for drivers, file services (an obsolete concept but one that UNIX legacy people understand) and other services like print.
The innovation (in its bare form) in QNX is that if you have three systems (instances of an active QNX OS), the driver (an application) can drive the camera in the first instance and it communicates via IPCI messages to the master camera application in the second instance (second QNX system) and can present the image via messaging to a third instance which contains the UI application. I am, of course, overlooking instance version control management (the API control issue you mentioned), performance, network latency, security and directory "challenges". The directory issues are not trivial as Microsoft and others have found out over the years, but if versioning control and API levels are tightly managed, it can work and it has, in very limited environments like inside a nuclear power plant. Whether BBRY can do this across millions of devices and can somehow deliver the same distributed function for Android applications with yet another "wrapper" and still have performance aside from network latency, security and directory issues is yet to be seen.
The key here is in consistency. In order for this (Transparent Distributed Processing) to even have a chance to work aside from performance and security All Devices Must Be At Compatible Levels of the OS and MUST HAVE COMPATIBLE LEVELS of the IPCI STANDARD and USER APPLICATIONS (aka User land).
The concept is initially nicely outlined in a basic manner in US Patent 6,697,876.
This is a new way to implement smoke and mirrors at a software level, very much like it has been done in hardware at the RISC level to emulate CISC and in IMPI in highly portable microcode based systems like the IBM iSeries. It has worked in a limited fashion in tightly controlled environments. IMHO, it has yet to be proven in a consumer environment.
BTW, there was a very famous but keep quite secret fist fight at IBM when this concept was brought up at an IBM developer's meeting in Raleigh, NC in the early 90's. By then the idea of layering hardware with a microcode abstraction was well accepted, but the QNX concept of "Transparent Distributed Processing" had not been totally accepted, even though vendors like DEC had implemented the concept in network node processing.
The fight started when I brought up the nano kernel and the micro kernel concept, and proposed the definition of what is an object by asking the crowd "Just what do you think is the definition of an atomic object in your environment?". In nano kernel environments, everything down to the smallest addressable piece of data is an object, which in UNIX is kind of a violation of religion since that makes the command line and the file system irrelevant and something that must be eliminated. QNX as a micro kernel is not there totally, but it's getting close.
- 02-08-13, 09:35 PM #3
Way over my head but I like reading the big words! Abstract goodness! The best example I can think of is that bbm screen share. Alot of the stuff they are talking about would be years and decades away. How would Blackberry get an entire home functioning on QNX. I guess you gotta start somewhere with a master control and that would be the phone I guess.
Last edited by geoffsdad; 02-08-13 at 09:47 PM.
- 02-08-13, 10:08 PM #4
My follow up questions would be Is screen sharing being done with the advantages of QNX. Essentially turning the other persons screen into your own, merging the devices. Or is it no different then plugging your phone into your TV via HDMI (which apple and android devices can do). Except rather then HDMI the signal being sent over wifi or cellular network then displayed on the other device
- CrackBerry Master
02-08-13, 10:28 PM #5
- 1,444 Posts
- 02-08-13, 10:38 PM #7
- CrackBerry User
02-09-13, 12:45 AM #9
- 35 Posts
My take on all the tech-talk (gobble-de-goop)
I read the article at Market Ticker, very interesting. The thing that stood out the most was this:
"All three are basically an attempt to take a desktop (or server) architecture and cram it into a phone" (Apple, Android and Microsoft)
And I think that's where the beauty of Blackberry lies, they are not forced to take a desktop system such as Windows or Mac, and try to cram it on to a phone. I'm sure they paid close attention when the iPhone came out, then the Android, and saw the direction that things were going. They saw that to have the power of a desktop or laptop on a tiny 4" x 3" device (or whatever size they are), meant that they needed a lean and mean operating system: QNX fit the bill, and they bought the company, as well as the programming experts in QNX, The Astonishing Tribe.. Have you seen their videos? It would be great if this 3-d map replaced Google maps!!!
- 02-09-13, 02:25 AM #12
At least I can see where the author of the article is going...
... I'll try to summarize:
- QNX microkernel is the chief controller, controlling how the other processes goes and goes where (ie the part with the memory allocation and such).
- Everything else is meant to be their own process that the microkernel manages
- The 8.0MP camera
- Someone else's Z10 screen
- Someone else's Z10 8.0MP camera
- A random thermostat (this can go on for days if I wanted to)
which means that the microkernel is the true definition of what Microsoft wanted to do with their Task Manager. Except now the tasks are controlling everything else, including the UI, the LTE radio, USB connection with the internal flash memory and microSD card, someone's Angry Birds Star War Edition...
Anyone want to correct me?
Edit: Note: I haven't looked into the comments when I typed that...
- CrackBerry Abuser
02-09-13, 07:03 AM #13
- 299 Posts
It's hard to give real world examples to explain what the article is trying to explain. It parallels object-oriented programming (so maybe a handle full of people can get it). Think of the Bb10 phone as a collection of objects. Objects like a phone, a display, a local file store, a camera, etc. All of these objects are abstracted (there's that word again) which means the objects are referred to using non-specific commands (programming term:methods) so, as an example, the camera can be specified down to the model and very specific capabilities but to simplify it, you only need to refer to it as a "camera" and the command it can do is "take picture". Same with file storage, "store file", "retreive file". How it does it or on what medium doesn't matter because the object itself can figure out exactly how to do whatever it's told.
So, now you have a Blackberry device which is a collection of objects and each object can do different things. Your device now needs to know two things. First is to know what objects it has and second, what I"m allowed to do with them. Maybe my device has a camera but I'm not allowed to use. Your device has QNX on it so it can locally do things for itself. It allows you to use the objects and give commands to the objects so you have a working phone. To put it in a bad analogy, you now have a planet in your hands or a "dot".
Let's say there's another planet (another Blackberry device). You now have two collections of objects, each that can manage and use their own objects but neither of them know the other is there. To make them aware of each other, you need a directory (like a phone directory). Once that's in place, both devices now know about each other (as long as they know about the directory) but that's about it. To extend this, the directory now needs to know and publish what objects are available in each of the devices that can be shared. But, wait a minute, what if I don't want to share my.objects? That's where security comes in. Once I can securely share my objects, with appropriate permissions, I can now use the objects in the other device. As the exampe states, I can use someone else's camera because it's just a remote object. You now have two dots...
Blackberry can be the central "directory" and "security" for the "universe" described above. Other planets like your house with QNX device can expose objects like your thermostat (with electronics to do commands), your lighting, etc and can now be available to other planets as long as they are published in the directory with appropriate security applied.
I'm not sure I'm helping matters with this explanation but it is fascinating and we are in the infancy of this. Like I said earlier, Blackberry is building dots. Hopefully they can connect them. .
- 02-09-13, 08:27 AM #14
might help to say the "dots" you speak of are nodes or devices on a network like the internet or LAN. Since QNX operates as a network as long as you have the correct permissions and address to use or access the "dots" QNX will treat them as if it was on the device you are currently using - that can be a smartphone, tv, car whatever. As long as the two devices are QNX they can share or open each others resources (files, apps or drivers) or like snuci above says objects.
- 02-09-13, 10:57 AM #16
So all this has to go thru a data connection like 3g/LTE, wifi, bluetooth or whatever that 4th one was? So let's say you have a qnx powered software controlling your car, you would most likely connect this dot with Bluetooth? is that right? If Blackberry came out with a QNX powered smart TV, that TV would send and receive thru wifi and I could do things like screen share to the TV or change channel remotely and view the channel on my phone? All the dots would stay connected thru the various data connections? Do other platforms need a cloud or something to do these kind of things?
Last edited by geoffsdad; 02-09-13 at 11:00 AM. Reason: Added question marks
- CrackBerry Addict
02-09-13, 11:16 AM #17
- 536 Posts
Here's a list of what QNX can do. Written in 2005.....they should update and add BB10 here...
I apologize if it has been posted before.
QNX News Releases
25 Ways QNX Touches Your Life
OTTAWA, March 30, 2005 - Known for building the world's most reliable operating system for mission-critical applications, QNX Software Systems celebrates its 25th birthday this month. For the past 25 years, QNX has become a big part of everyday life - from powering television broadcast systems to controlling train systems all over the world. People encounter QNX every day when they:
Use the Internet - The QNX® Neutrino® RTOS forms the software foundation for the Cisco CRS-1, the world's highest-capacity Internet router.
Turn on a light - QNX controls power-generating systems worldwide, from hydroelectric plants to nuclear power facilities.
Call for help - By leveraging QNX's unmatched reliability, 9-1-1 call systems deliver emergency assistance 24 hours a day, 7 days a week, nonstop.
Take a train - From subway cars to high-speed trains, QNX-based systems go the distance, controlling locomotives, coordinating railway traffic, and even dispensing tickets.
Go to college - Thousands of students and professors in post-secondary institutions are using QNX to build humanoid robots, map global weather changes, analyze the human genome, and discover new planets.
Watch TV - From manufacturing TV sets to automating television broadcasts, QNX brings the world to your living room.
Eat a chocolate bar - QNX aids the chocolate-making process and improves production at the chocolate mixing stage. QNX powers the system that monitors and controls the process for Caramilk, Crunchie and other Cadbury chocolate.
Mail a letter - QNX-based mail-sorting machines push the performance envelope, processing up to 40,000 letters per hour.
Drive to work - Using QNX, road-traffic control systems respond to traffic patterns in realtime, resulting in fewer traffic jams and shorter waits at intersections.
Fly in an airplane - QNX powers air traffic control systems at airports worldwide.
Drink a beer - QNX powers automated bottle inspection systems that use high-speed mechanical handling technology and patented illumination systems to single out defective closures for everything from motor oil and beer to peanut butter.
Buy a book - Bookstores throughout North America rely on QNX-based point-of-sale systems to deliver fast, highly personalized service to their customers.
Play a slot machine - QNX powers an intercasino system that connects statewide gaming machines with a central computer. The system, which can pay out multi-million-dollar winnings, must perform a host of complex functions with zero tolerance for error.
Beat rush-hour traffic - Using QNX-based XM satellite receivers, motorists tap into realtime traffic alerts, allowing them to avoid traffic jams, accidents, and road closures.
Wash your car - No-touch car-wash systems based on QNX quickly analyze your car's size and shape to aim the wash nozzles exactly where they're needed.
Eat safely prepared food - QNX powers a system that applies DNA "fingerprinting" techniques to identify bacteria and determine whether food is contaminated or safe.
Charge purchases to your credit card - QNX powers the VISA transaction control system.
Turn on the air conditioning - QNX powers a system that regulates and chills water used in industrial-strength air conditioning systems for large apartment buildings.
Visit the doctor - QNX brings reliability and performance to a variety of diagnostic equipment, including electrocardiograph (ECG) machines, angiography systems, bone density analyzers, as well as body composition analyzers that help treat obesity.
Improve your eyesight - Using a QNX-based LASIK system, doctors are reducing the complications associated with laser vision-correction surgery.
Make a call from your car - QNX hands-free mobile phone systems are making huge inroads in the automotive marketplace, with deployments in cars by Acura, Honda, Chrysler, Mercedes, and others.
Watch an action movie - QNX powers motion-controlled special effects systems, designed for extreme safety and accuracy in creating and modifying special effects and stunts.
Take a cruise - QNX powers the nautical navigation and radar systems in cruise liners, allowing crews to navigate with ease through bad weather, fog, and narrow estuaries.
Drive over a bridge - QNX helps reduce drawbridge congestion by powering an automated bridge raising system. Raising such an incredible mass in such a short time frame requires flawless and clockwork functioning of all the bridge's devices and systems, leaving no room for any malfunctions.
Undergo surgery - QNX powers a device that precisely measures a patient's level of awareness during surgery. The system helps identify whether the patient is prepared for surgery, making sure a patient is neither under- nor over-sedated.
25 Ways QNX Touches Your Life
- 02-09-13, 01:25 PM #18
So like the guy said in the article, QNX depends on how well Blackberry realizes the potential. It sounds as if Blackberry needs to facilitate a move from industrial applications to commercial applications which would mean they would have to license or build QNX powered Smart TV's, Home systems, Video cameras, PC's, and even maybe game systems?
- CrackBerry Abuser
02-09-13, 07:57 PM #19
- 299 Posts
My Panasonic TV is also network connected through wi-fi or wired. It is a display device that is accessible. At present it has it's own app ecosystem (Smart TV apps) but if QNX was running on it, the TV's services could be exposed. Whatever the device is, it needs a connection and smarts to be able to handle remote requests. It could be endless. The TV also has WiDi (see WiDi - Wikipedia, the free encyclopedia) so your Z10 should be able to send it audio and video. I send video from my laptop now but it looks like the Z10 may be able to do it also. I saw a thread about sending audio but I can't seem to find it. I wonder if the Z10 has WiDi? This is not the same thing but it's the same idea.
It may be hyperbole, but I believe Crackberry Nation is clueless about the game-changing technological change about to be unleashed by QNX. The Z10 is simply the first of many exciting innovations to be announced by BlackBerry, similar to Cisco circa 1990.
BlackBerry 10: Forget about the phone - it's the OS that really counts:
BlackBerry 10: Forget about the phone - it's the O - BlackBerry - BB
- CrackBerry Addict
02-20-13, 12:14 AM #22
- 593 Posts
This is where I see BB going with BB10 on the Playbook. They will then have two devices running the same O/S version that theoretically should be able to take full advantage of QNX's transparent distributed processing capabilities. What we saw with the Bridge software on 7.x phones will be nothing compared to what BB should be able to do in the future - any process running on the Z10 could be running seamlessly on the Playbook, and vice versa. You don't just use an app to link the devices, they become one at O/S level when connected.
There was a reason the Bridge software in BB10 dropped the ability to access email, calendar, etc on the Playbook running 2.0. The way it worked before was old-school compared to the way it will work in the future. Expect to see some mind-blowing functionality in the future!
- By peacefulberry in forum General BlackBerry DiscussionReplies: 12Last Post: 01-30-13, 10:44 PM
- By mjneid in forum T-MobileReplies: 66Last Post: 10-08-10, 05:46 PM
- By belfastdispatcher in forum BlackBerry OS AppsReplies: 15Last Post: 04-17-10, 08:21 AM
- By belfastdispatcher in forum BlackBerry Bold 9700Replies: 14Last Post: 04-16-10, 08:39 PM
- By loopt in forum BlackBerry OS AppsReplies: 8Last Post: 12-10-09, 12:40 AM