In a discussion like this, I find it useful to focus on facts, and toward the goal of focusing on facts, these are a few of what I consider to be facts:
(1) There are both Mac and Windows version of Notion 3 . . . From a Computer Science perspective, this fact provides the very important clue that Notion Music has developed a software engineering strategy that makes it practical to design and program a dual-platform application, which additionally suggests for example that making improvements and enhancements to the Mac version of NOTION is very likely to map to making similar or identical improvements and enhancements to the Windows version of NOTION, and vice-versa . . .
At present, I have not done a recent detailed survey of the current state of the art in multi-platform application development systems, but I know that Real Software has a multi-platform application development system that makes it possible to use one set of source code to create applications for the Linux, Mac, and Windows platforms, as well as for web-based applications, and I know this because I have been a registered user of REALbasic for nearly a decade, although more recently the product is called "Real Studio" . . .
Real SoftwareIt is not a completely and totally one-to-one type of thing, since there are platform-specific nuances, but this is handled by including "compiler directives", which are specifically tagged and identified sections of code that are used when compiling and building a version of the application for a specific platform . . .
For example, in REALbasic this is an example of the way to indicate that a section of code is specific to the Mac with a compiler directive (which is indicated by the pound sign ["#"]):
- Code: Select all
#if TargetMacOS then
Declare Function SpeakString lib "SpeechLib" (SpeakString as pstring) as Integer
#endif
At present, I have no idea precisely how Notion Music does multi-platform development, but so what . . .
So what! The facts are (a) that Notion Music does multi-platform application development and (b) that there is some type of system or set of procedures for doing it . . .
Another useful bit of information is that at some level, which might be so deep that it only happens in the low-level C/API universe, there are not so many differences in doing GUI application programming . . .
People like to imagine that everything is totally different at the dawn of the early-21st century, but the reality is that all the primitive stuff is pretty much the same now as it was 25 years ago . . .
And on the Mac side of the universe, it is not difficult to look at a few of the API functions and realize that for all practical purposes you are looking at NeXTSTEP API functions and variables, which originates with NeXT Computer in the later half of the 1980s when Steve Jobs left Apple and started NeXT Computer, where nearly a decade later Steve Jobs returned to Apple and then Apple purchased NeXT Computer, and so forth and so on . . .
- Code: Select all
NSArray *objects = [self arrangedObjects];
When I first saw the "NS" prefix about a decade ago as I was starting to learn about Mac OS X application development, it took me a while to connect the dots but not so long really . . .
Really!(2) The various technologies and algorithms that comprise NOTION are the "family jewels" of Notion Music, and as such there simply is no possibility that Notion Music will abandon NOTION. In essence, abandoning NOTION would be like The Coca-Cola Company deciding to stop making Coca-Cola or Starbucks deciding to stop making coffee . . . (3) There is significant commonality among Mac OS X and iOS, and all the low-level C and C++ code is identical, which is very important when one is focusing on mathematical algorithms, since most of the detailed graphic and audio work is done with mathematical algorithms that in varying degrees are platform agnostic or platform independent . . . For example, incrementing an integer variable in low-level C code is that same no matter what the platform, although there are differences in the types and flavors of integer variables, and there is the matter of Little Endian and Big Endian, although this no longer is a consideration for Mac and Windows applications, since they both run on Intel or Intel-compatible processors, although for Mac PPC computers it continues to be a consideration, but it is handled by the compiler and so forth and is the reason for the Universal Binary, which provides both PPC and Intel flavors of Mac OS X applications . . .
- Code: Select all
i = i + 1;
If you have a few months with nothing to do and want to entertain yourself by reading and studying some of the most boring application programming documentation in the known universe, then you can verify this for yourself, but if you have better things to do--for example composing music--then I encourage you to trust me on this one . . .
There are a few significant differences in Mac OS X and iOS, but if you apply a bit of smarts to your strategy, the differences can be kept to a minimum, which in the grand scheme of everything essentially maps (a) to separating platform-specific code from platform-independent code and (b) to doing as much as possible in platform-independent code . . .
For example, instead of using the Core Data framework for relational database activities in iOS, the key is to do relational database work via low-level C/API with SQLite, which translates very nicely to Mac OS X applications and with a bit of thoughtful relational database designing to SQL Server and so forth in the Windows universe, which makes all the more sense when you need to work with highly abstracted metadata, which the Core Data framework simply cannot handle because it does
not allow even a tiny bit of carefully and ruthlessly controlled recursion, so instead of needing only perhaps 10 tables, you need to have 1,000 tables . . .
(4) For all practical purposes, nearly everything that Notion Music does in its iPad applications will translate directly to Mac OS X and Windows applications . . . (5) The first generation iPad sold approximately 15 million units, and sales of the iPad2 are estimated to be in the range of 30 million units this year (2011) . . . This makes it quite likely that there will be 75 to 100 million iPad users by the end of next year (2012), and this is a
very significant market . . .
(6) Beginning with iOS 5 and iCloud, which are scheduled to be released in a few months (Fall 2011), it no longer will be a requirement to have a desktop computer to use an iPad, since everything will be available to the iPad via iCloud and a Wi-Fi or cellular connection . . . (7) The human eyes are able to focus clearly on perhaps one word at a time containing no more than 12 characters in a typical 10-point font . . . This is very important to understand, because it provides a clue to the realities of working with vast amounts of visual information . . .
I think that I explained this in a previous post, but the reality is that there are two basic ways to work with large sets of visual information:
(a) you can move your head and eyes . . .
OR
(b) you can move the visual information into your field of focus . . .
Another useful bit of information is that if you have perfect color vision and happen to be standing in the middle of a perfectly level 1,000 acre rectangular field of prolifically blooming red roses on a bright sunny day with a clear blue sky, you might think that you can see an ocean of red, but the reality is that approximately 80 to 90 percent of the "red" you think you are seeing is the direct result of your brain performing a quite amazing series of mathematical computations toward the goal of creating a marvelous visual illusion, because the reality is that if you draw a 5" diameter circle on a piece of paper and hold the piece of paper approximately 12" in front of your nose and look directly at the 5" diameter circle, this is the area where there are a sufficient number of cones for your eyes physically to detect the color "red" . . .
[SOURCE:
The Rods and Cones of the Human Eye (Hyperphysics)[
NOTE: I am not suggesting that the iPad will replace orchestra scores and sheet music printed on paper, but I am suggesting that what might appear to be patently goofy actually is not the least bit goofy. The practical perspective is that for older folks, such as myself, the idea of not having a physical keyboard and mouse is beyond disturbing and simply is not going to happen, but even though it will require a bit of learning new skills, I think that there are some things that will be much easier to do via a touch screen or touch pad and a few finger gestures. Initially, I absolutely hated the idea of not having printed books, but after a lot of hooting and hollering, as well as bit of learning new skills, the fact of the matter is that I do a lot more reading with digital references and documentation that I did when I was spending thousands of dollar every year on technical books . . . ]
(8) Apple is releasing Mac OS X Lion next month (July 2011), and if Notion 3 is not completely and fully compatible with Mac OS X Lion, then Notion Music either (a) will do at least a minimal update to Notion 3 for its Mac customer base or (b) will let its Mac customers know to "hold that thought" on upgrading to Mac OS X Lion . . . I have seen no announcements so far from any of my favorite digital music application providers (Celemony, IK Multimedia, MOTU, Notion Music, and Wave Arts) regarding Mac OS X Lion, so perhaps there are no incompatibilities . . .
[
NOTE: My current plan is to order a new 2TB hard drive from Other World Computing and to clone my current Mac OS X Snow Leopard hard drive, which on the Mac Pro is virtually trivial to do . . . ]
(9) The primary limitation on NOTION at present is the fact that it runs in a 32-bit application space, which also is the case with everything else I use, with the recent exception of T-RackS 3.5 Deluxe (IK Multimedia), although I have not verified that it actually is running as a 64-bit application, since I am not running 64-bit Mac OS X Snow Leopard, and this is the case in the Windows universe as well . . . Apple and Microsoft have had 64-bit operating systems for quite a while, but the reality is that there are very few 64-bit applications, although there are plenty of "64-bit compatible" applications, but making a 32-bit application "64-bit compatible" mostly maps to using 64-bit API functions and variables rather than 32-bit API functions and variables, which for a well-designed application maps to changing a few compiler flags and about 15 to 30 minutes of compiling and building . . .
Doing a complete redesign for 64-bit multicore symmetrical multiprocessing, multitasking, and multithreading computing is such a monumental task that it rivals designing and building a commercial airplane or rocket ship, and this is the primary reason that there will not be a lot of 64-bit applications for a long time, although in the Apple universe the fact of the matter is that Apple actually takes the time to do a few 64-bit applications correctly, which Apple can do because it has the vast resources and motivations to do it, which is the case with a few of Microsoft's flagship applications and services, where as I recall there is a 64-bit version of Microsoft SQL Server that is specifically designed and programmed to exploit everything involved in 64-bit computing . . .
And it is not so much a matter of NOTION being constrained to a 32-bit application space as it is a matter of all the virtual instrument sound samples being constrained to 32-bit application space in one way or another . . .
As best as I have been able to determine, it appears that everything is loaded into one 32-bit application workspace on the Mac, which I based on observing real-time memory usage via Activity Monitor, where there consistently is approximately 4GB of unused memory all the time, which could be due to running Mac OS X Snow Leopard in 32-bit mode, although perhaps not. I can do a few experiments to explore this in more detail, which might be interesting, but there was a reason for not running the Mac Pro in full 64-bit mode, although at present I do not recall the actual reason, other than it caused problems with something that was important . . .
(10) Developing and marketing iPad applications has great potential for being a significant revenue stream for Notion Music, either as the direct result of selling iPad applications or as the indirect result of free iPad applications driving sales of NOTION, and the reality is that doing Mac OS X and Windows application development in the digital music arena is expensive, so having an increased revenue stream is very important for an application that is focused on customers who have sufficient knowledge and expertise to make sense of music notation and can keep track of everything all the instruments in a symphonic orchestra are doing in real-time, which also applies to those folks such as myself who are able to do essentially the same thing but with a virtual festival of DISCO and Pop instruments, although I have been hearing symphonies in my mind since I was a toddler . . . (11) If you can compose in music notation a two minute piece for a string quartet and nobody who listens to it recommends that you need to pursue other career options, then I think it is reasonable to suggest you are in the 99th percentile, more or less . . . (12) I have no idea how many copies of Notion 3 have been sold, but I know that it took about three or so months for IK Multimedia to get 10,000 of its customers to "friend" it on Facebook, and when the 10,000 mark was met this mapped to everyone getting a 30 percent discount on IK Multimedia products, which provides the clue that either (a) IK Multimedia customers are so wealthy that only its impoverished customers care about discounts or (b) IK Multimedia has about 10,000 customers, and for reference IK Multimedia also is focusing on iPad and iPhone applications at present, but it continues to do Mac OS X and Windows applications for its flagship desktop applications, where it just released two new compressors for T-RackS and did a 64-bit update to T-RackS 3 Deluxe (v3.5), which as best as I can determine is that way it works, where one might suggest reasonably that the little applications effectively fund the development of the big applications . . . Lots of FUN!