The HP Prime from a developer’s perspective – I
The Prime is the latest addition to the HP family of scientific calculators. I thought it might be interesting to talk about the pros and cons of the machine, specifically from the app development standpoint. Here I’ll give a bit of background on how and why I use HP calculators. In part 2, we’ll go for the actual in-depth review.
If you don’t want -or don’t have the time- to read both articles, let’s draw the conclusion right now:
The HP Prime is, in my opinion, one of the best calculators that HP has ever made. It’s extremely fast, slick, powerful, robust and user friendly. It has a few downsides here and there -which we’ll get into more detail later- and of course it has plenty of room for improvement, but overall it’s a quantum leap over the 48/49/50 family of RPN calculators.
Do you need one if you are a mobile/desktop app developer?. Probably not. But it will make your coding life easier, especially if you are into game development and/or graphics programming. It might also come handy if you develop applications for Engineering, Science, Architecture and other technical fields.
With that being said, let’s dive in.
A little background
I’ve been using HP calculators since the day I entered the Engineering School as a newbie student. My first one was the HP-42S: a great little machine that was in fact my introduction to the RPN world. Its build quality was impressive, with an awesome keyboard and a clean, legible LCD display. It was packed with all the mathematical and scientific functions an engineering student would ever need, and of course, it was programmable.
A few years later a new HP model came out: the great HP-48SX, with its big LCD display -perfect for RPN stack operations-, quality keyboard (best in the series) and relatively advanced graphing capabilities. In my opinion, it also had the best industrial design, very similar to the 42S.
The 48SX was also expandable via expansion cards that you could buy from HP, such as the famous Equation Library. The machine expandability was really a nice touch, but for me, the most interesting fact about the 48 is that it was very easy to write programs for it, at least when compared to the HP-42S which, needless to say, was soon replaced with the new model.
The HP-48SX proved to be a reliable workhorse, and it was in fact my loyal companion throughout the rest of my college days. A great machine that served me well, and for that reason it’ll always have a special place in my heart.
But when my virtual romance with the HP calculators was at its highest, the terrible HP-49G made its appearance, with its awful rubber keyboard, cheap plastic look and a shamefully low manufacturing quality. Maybe they were trying to keep production costs really low, but who knows. Also, the design was weird: it looked more as a toy than a serious scientific calculator, miles away from the almost perfect look of the 42S and 48. Maybe they were trying to attract younger audiences. But again, who knows…
For better or worse, my 49G didn’t last too long: the ‘ON’ key failed within one year. This means that I couldn’t even turn the calculator on!. I could have taken it to the HP Service, or at least tried to repair it myself, but I was so annoyed that I just threw it in the bin and never looked back.
HP had failed me after all those years as a loyal customer, so I was tempted to say goodbye and change to TI, which was a popular brand in the U.S, but no so much in Europe.
The thing is, I had switched careers by that time, leaving the engineering world behind after getting a new job as a business jet pilot. My new duties didn’t require a scientific calculator at all -although it proved useful for many flight planning tasks, as I’ll explain later-, so I didn’t pay too much attention to the calculator market. At least until HP announced the brand new HP-50g.
After reading about the 50g specs and capabilities, I decided to give HP another chance, so I went out to the nearest store and grabbed one. And I’m glad I did, because up to this day, the HP-50g is -without any doubt- the King (or maybe the Queen) of the RPN calculator family. It had all the nice bits of the 48, and much more. It might not have the same manufacturing quality (after all, the 48 was one of the last calculators ‘made in USA’, and it shows), but everything else is much improved in the 50g.
I was so impressed with new the machine, that I began writing little programs to help in my daily piloting tasks. Things such as fuel loading calculation utilities, flight planning helpers for time/distance/speed calculations, and even a pilot’s logbook to keep track of flying time, resting times and so on. Almost every other pilot was using a laptop for things like that, but I found the HP-50g easier to operate in the confined space of a small jet cockpit.
But then, the iPhone came out. And it changed everything.
New kid on the block
Steve Jobs introduced the original iPhone in 2007, and the moment he pulled that little piece of glass out of his pocket, it caught all my attention. A year later, Apple opened the app development process to anybody that was interested in writing apps for the phone. And of course, I was there, ready to apply for a developer account, with my recently acquired iPhone 3G eagerly awaiting by my side.
The iPhone proved to be extremely versatile when using the right apps. I ported all my HP-50g programs to iOS (or iPhone OS, as it was called at the time), and all of them worked beautifully in the new device, with improved usability due to the larger screen, coupled with the intuitive touch-based input system.
Moreover, the iPhone 3G was much smaller than the HP-50g and therefore it was a joy to use it in the cockpit. I always had to carry the 50g in my flight bag, but the phone fitted easily into my pocket, ready to be used at any moment. The form factor was simply perfect.
Years passed and new iPhone models kept coming out, while my trusty HP-50g rested peacefully in a drawer, almost completely forgotten. And then, I switched careers again.
After a few years of flying private jets and working as a part time coder, it was time for me to make a vital decision. Without entering into much detail, I finally opted to make the transition into a full-time app developer.
Most of the projects I worked on, especially the ones related with 3D graphics programming, required a good deal of vector math, matrix operations, linear algebra and trigonometry. There are plenty of utilities and dedicated software for the PC and Mac to work with, but I always found scientific calculators more suitable for these type of tasks. After all, we are talking about devices specifically designed and built for advanced math calculations from the start.
There are a few apps for the iPhone and iPad that simulate scientific or graphing calculators with a great level of detail, but for me there is nothing like an actual physical keyboard when you need to perform anything more than the simplest calculations.
So, it was time to open the drawer and put the 50g back to work. I’ll be honest: after years without touching the calculator, everything felt clunky, painfully slow and even counter-intuitive at first. It took me a few days to get back on track and feel comfortable with it, but after that, my workflow improved greatly.
Everything seemed to be fine until I opened my collection of custom programs and utilities -most of them written over a decade ago-, to try and modified some of them. Being used to modern programming languages like Swift and Objective-C, or even the good old C/C++, the 48/50 User RPL felt somewhat ankward and confusing, extremely simple and at the same time, awfully complicated.
The worst thing is, these programs had no comments (my fault), and they were structured in a way that I didn’t have the sligthest idea of what the code was doing. I literally had to go step by step, line by line, instuction by instruction, writing down the myriad of stack operations in several sheets of paper, to fully understand what was going on. My desk was a mess, and my head was about to explode.
But, as we all know, old habits die hard. After a few days of RPN stack nightmares, I began to feel comfortable with RPL once again, and it became easier for me to interpret and modify old code. I started to write new little programs for the 50, even though I found that the coding, testing and debugging experience was not as good as I remembered.
By that time I was totally disconnected from the scientific calculator market. In fact, I didn’t even check any related forums or websites to catch up. Maybe I was comfortable enough with the HP-50g, and didn’t feel the need to look for any news on the matter. But one day, while searching the web for info on some RPL-related stuff, a picture of what it seemed to be a pretty modern calculator, with a nice big color display, appeared before my eyes. It was the HP Prime.
I knew it at first glance, without even looking at the logo or the model name at the top, that it was an HP calculator. There was something very familiar about its design, especially the keyboard layout. Intrigued, I searched for more info, and I found that it was supposed to be the successor of the venerable HP-50g, with a much faster processor, lots of user memory, colors and… a fancy touch display! Impressive.
At this point, I had grown a bit disappointed with the HP-50g. It was a very nice machine, but it looked old, and most importantly, it felt old. And clunky. And slow. Like… painfully slow.
There is no doubt that the 50g still was the best RPN calculator on the market. But times change, technology moves at a fast pace, and also does the way we interact with our devices. User interfaces evolve, and as a direct consequence, overall functionality improves along the way. The HP-50g, with its extremely low resolution display and slow processor, seemed to have been locked in a time capsule.
It was time to move on, put the HP-50g back in the drawer, and go get the fancy new HP Prime. I was a little nervous because of the negative criticism that was floating around on a few dedicated forums. Most of the complaints were related to the fact that the Prime is not a true RPN calculator, but there was also some other criticism about the new user interface.
Moreover, I was a bit worried about Mac support. Since I planned to do a lot of programming, the HP Connectivity Kit + HP Prime simulator were essential for my workflow. And although not an IDE per se, it offers a convenient way to organize a program library and establish a connection with the calculator, not only for programming tasks but also for firmware updating.
I had been a Mac user for quite some time, and didn’t plan to go back to Windows anytime soon, so I was really happy to know that Mac versions of the Connectivity Kit and Prime simulator were also available.
I spent a couple of hours testing the HP Prime iOS app on the iPhone to get a feel of the interface and general usability and, what can I say, I really liked it. So, I went to the nearest store and got one.
I reckon this was an extremely long introduction, but I think it was needed to put things in context. And now, let’s go for the actual review… in Part II.