The HP Prime from a developer’s perspective – II
In part 1 I gave a bit of background on the reasons I like HP calculators so much and what do I use them for. Now, it’s time for an in-depth review of the latest and greatest, the HP Prime.
The Prime was released in September 2013, which means that it has been around for quite some time. As far as we know, there have been four hardware revisions, named from A to D. The latest one (D) is also known as ‘G2’ and was introduced in July 2018. It features a faster, more powerful CPU, as well as much more RAM (256 MB) and ROM (512 MB) compared to the previous revisions.
The Prime comes in a modern, transparent plastic package that seems to have been designed to cater for younger audiences. The calculator is visible up front, which is nice because you’re looking at the actual device instead of a picture, but no printed manuals are included in the box. It doesn’t even come with a wall charger in Europe, just an USB/microUSB cable, a small pamphlet, a useless CD (modern computers don’t even have a CD/DVD drive anymore), and that’s it.
I miss the days when the HP calculators came in big, heavy cardboard boxes filled with goodies. You’d usually find one or two big manuals inside, a nice carrying case or a soft pouch, and even an extremely useful Quick Reference Guide that could easily fit into your pocket.
But those days are long gone. Now everything is delivered in PDF format, there is no pocket guide and no case or pouch, just a sliding hard plastic cover that reminds me of the infamous HP-49G.
Anyway, the package design is sleek and eye-catching, but the calculator comes so tightly packed that it’s really difficult to pull it out of its plastic casing. You need to be very careful, and try not to use any tool that could scratch or damage the device.
I love the HP Prime design. A lot. It has a more squared shape than the previous models, which for me is a bit reminiscent of the old 42S style. It gives the Prime a solid, professional look. Two predominant colors, silver and black, are smartly used to differentiate the two main zones in the calculator’s front face. They are also a contributing factor to the subtle elegance of the design.
The calculator is also very thin, at least when compared to the 50g and previous models, and it’s a bit wider. The fact that there are no curved, decorative lines at the front also contributes to the solid, functional look. Again, the 42S style keeps coming to my mind.
The HP Prime feels very light in the hand, but sturdy at the same time. The build quality is top notch, much better than former models. Its frame doesn’t twist or bend, and you won’t hear a single cracking sound under normal use.
It has a rechargeable battery, which is a good or a bad thing depending on who you ask. For me, it’s convenient, since I only have to charge it once every two weeks. It can last over a month when it’s not used, and the battery is replaceable, which is a huge relief for someone used to Apple devices.
The sliding cover adds some protection, but it also makes the calculator somewhat bulky. Since I don’t carry my Prime around too much, I prefer to use it without the cover. It’s a pity that HP doesn’t include a soft pouch or carrying case like it did with the 48 and 50g, but you can find a few alternatives on Amazon.
Like most of the other HP calculators -except for the 49G-, the Prime has a top quality keyboard, so no surprises here. It might not reach the excellent quality of the 42S and 48SX keyboards, but it comes very close. The keys feel solid, with no wobbling at all. You get both tactile and audible feedback on each keypress, with a subtle click sound. There’s no need to apply too much force for a keypress to register, just the right amount. It feels pretty balanced, so I guess the HP Prime hardware team spent quite some time on this. Overall, typing on this calculator is a very satisfying experience.
Unfortunately, not everything is perfect. There were a lot of complaints about the controversial color scheme used for the calculator keys and secondary labels, especially in the first revision of the Prime. Orange and cyan blue text over a white background was an interesting choice, but it didn’t provide the best contrast, which in turn affected legibility.
This was later improved in the next version by using a darker blue, but the final result is not as good as what we can see in other calculators like the HP-50g, which has a dark keyboard that offers much better readability.
This doesn’t mean that the key labels on the Prime are impossible to read, they are perfectly legible (at least on the G2 model). The white keys are also nice, and they certainly add up to the calculator’s modern look, but if I were to choose, maybe I would opt for a dark style keyboard. Just saying….
The screen is a big improvement over previous HP calculators. We have now a color display that also supports touch input. This is certainly a game changer in the way we interact with the device. And, as far as I know, the Prime is the only graphing calculator on the market that supports touch gestures.
The display is not very good at color accuracy, though. But anyway, this is something that is not really needed in a scientific calculator. On the other hand, it’s really nice to see colored graphs, text and controls on the screen, especially if you’re coming from the 50g and earlier. It adds another whole dimension to the user experience.
The screen is nice and large, but unfortunately it only has a resolution of 320 by 240 pixels. Since we are all used to Retina displays and high density screens in our smartphones, tablets and other devices, interacting with a 320×240 display is like going back in time…
Some people argue that a Retina-like display would draw too much power and consequently shorten battery life. While that’s certainly true, we have to keep in mind that the Prime has a very nice battery capacity that might not be affected too much. And besides, modern ARM CPUs, mobile displays and associated circuitry have become pretty efficient nowadays.
I’d rather prefer a high resolution screen even though that would imply charging the calculator more often. Currently, with moderate usage I need to charge it once every two weeks. I wouldn’t mind doing it once per week. After all, we are used to charging our phones every 2 days, aren’t we.
The problem with low resolution displays is that the aliasing is more visible on lines and curves, and the calculator doesn’t seem to apply any sort of anti-aliasing to graphs. The other side effect is that the text is a bit blurry. This could probably be improved by applying subpixel antialiasing, but perhaps the low density screen doesn’t provide enough pixels for this technique to be effective.
Neither of these issues are a big deal, though. The new display is a really nice improvement over previous models, and the touch-base input makes the calculator very fun to use, almost like a smartphone. Nevertheless, I can assure you that the day HP launches a new Prime with some sort of ‘retina-like’ screen, I’ll go straight to the store to buy one without hesitation.
The UI on the Prime has changed a lot from what we used to see on the 48/49/50 series. It shares some things with its predecessors, like the (limited) use of ‘soft keys’, but other than that it’s mostly a new system.
The HP-48 interface was almost entirely based on directories, ‘soft menus’ and ‘soft keys’, with the 50g also introducing more interactive elements like menu lists and choosers.
The Soft Menu/Soft Key approach was a very efficient solution in terms of usability, but it also had its downsides. To begin with, the number of letters a soft key can show is very limited, consequently enforcing the use of abbreviations. And when you are swiping through pages with tons of abbreviated commands… well, you get to a point where some of them don’t have any meaning.
Also, sometimes you had to deal with long lists of menu items that simply didn’t fit in a single line. The solution was to use the NXT and PRV keys to navigate through different menu pages. But again, it could become messy when you had tons of pages.
The same can be said about the directory system. It was simple, efficient and fast. But it could be a bit confusing in situations when you had several subdirectories inside a directory, plus lots of user variables, user programs (that looked exactly the same as variables), and so on.
In summary, the simplicity of the 48/49/50 User Interface was great. It let you work very fast, but it didn’t escalate too well when the number of items, commands, pages and directories increased.
And this is precisely where the Prime UI really shines: you can access any of your variables, system variables, user programs and commands with ease through a combination of keyboard, menu lists and soft keys. It doesn’t matter if there are too few or too many elements. Moreover, you get the full command and function names by default. No more abbreviations, no more guessing.
Basically, we have now two keys (Vars and ‘Toolbox‘) that work in combination with the menu structure to allow easy access to any variable, program, command or function stored in the calculator. This usually requires a few more taps than the old system, but in turn we have a cleaner keyboard layout.
Also, directories are no longer used on the Prime. Instead, we have ‘Apps‘. These are semi-isolated, self-contained environments that replace the 48/49/50 directory system, at least conceptually. I like to think of them as some sort of ‘workspaces’. They might not seem as versatile, but they can be pretty powerful once you get the hang of it.
Back on the 48 series I used to have different directories for different tasks, just to keep things organised. Normally, I would store related variables, custom menus and programs on their own directory. The ‘Apps’ approach on the Prime provides more or less the same functionality, it’s just a matter of getting used to it. Actually, after spending some time working with this new system, I like it better.
Another aspect worth mentioning is the touch screen, which works great with the new user interface. You can tap the screen to navigate through lists, select items, press ‘soft buttons’, etc. You can even use the pinch gesture to adjust the zoom level and also pan the view on graphs, just like with your smartphone. Shortcuts are also available if you prefer to use the keyboard.
Overall, the UI/UX on the Prime feels much more polished and advanced than the old system in previous calculators, but not everything is perfect. There’s one thing that users have been asking for a long time and has not been implemented yet: the ability to create custom menus.
Soft Menus are widely used throughout the calculator’s operating system, but there’s no easy way for the user to create a menu with custom soft keys. As far as I know, the only way to do it is within a program. In fact, there are a few programs that replicate the 48 series menu system with a great degree of fidelity.
I don’t know if the HP Prime team is planning to implement this functionality in a future firmware update. In certain situations a simple soft menu is much more convenient than having to dig through menu lists and stacks, so it would be great to have the best of both worlds.
To RPN or not to RPN
That is the question.
I’ve been using RPN since the day I got my first HP calculator, the 42S, and that was more than thirty years ago. I grew so accustomed to it, that I found very difficult (and sometimes annoying) to use any type of algebraic calculator, even for the simplest operations. In fact, I hated the iPhone default calculator so much that I purchased the excellent PCalc app for iOS, and used it in RPN mode exclusively.
The Prime is an algebraic calculator at its core, but it also has an emulated RPN mode that works pretty well. I would say that it’s easier to use the Prime in RPN mode than the HP-50g, thanks to the combination of touch screen (scrolling through the stack with your finger is great), a much bigger display and the ability to easily copy and paste any of the values.
And of course, the most useful stack management commands are there as well. Most of the things you can do on the HP-50g can be done on the Prime in RPN mode. Except for one thing: it can’t be programmed in RPL. For some people, this seems to be a serious issue. For me, it is not.
As I said before, I’ve been using RPN calculators for a long time. When I got the Prime, I immediately switched it to RPN, ignoring the algebraic mode completely. But when I began writing programs, I found that due to the fact that there is no way to program the Prime in RPL, I had to constantly change mindsets: RPN for normal operations, Algebraic for programming. That wasn’t an ideal workflow, so after a few days, I realised that something had to be done about it. The Prime had been primarily designed as an algebraic calculator, so I decided I should give it a chance. And I’m glad I did.
We all know that RPN is awesome, quick and efficient. But sometimes it’s not that great. When you have a stack filled with a bunch of intermediate results and you need to grab a certain one for whatever reason, well… good luck finding the one you’re looking for. Or maybe you perform some calculations, leave the results on the stack and come back later only to find that you have no idea where they came from.
In Algebraic or Textbook entry mode, you always have all the steps you’ve recently performed, coupled with their intermediate results right there on the screen. When you’re dealing with long calculations with lots of steps, and especially when you need to re-use some of them, this is a life saver. Besides, the Prime has several templates at your disposal for entering common expressions, which somehow minimises the need for parenthesis in Textbook/Algebraic mode.
On the other hand, RPL is nice for short programs. But when your code grows in complexity, it quickly becomes almost unreadable and very difficult to follow, especially when you go back to it a few months later. I recently wrote a medium-sized program for the Prime, about 2.000 lines of code, and I’m pretty sure that if I had tried to code it in RPL, it would have been a nightmare.
The fact is, I don’t use RPN anymore. And the most interesting thing is… I don’t miss it one bit. I think the HP Prime shows its true potential when used as an algebraic calculator. So, if you are a long-time RPN user like me, just give the Algebraic mode a chance. Maybe you’ll be pleasantly surprised.
The Connectivity Kit and Emulator
And now that we are talking about programming, let’s dive in a bit deeper.
The Prime comes with a nice, although rather limited, programming environment for both macOS and Windows: The HP Connectivity Kit. An HP-Prime emulator is also available, to test and debug your programs without the need to use the physical calculator. Code can also be typed directly on the Prime, although this works best for user defined functions and small programs. Anything more complex can be a bit cumbersome to type in.
For larger projects (including custom apps), using a Mac/PC with the Connectivity Kit is more convenient. It has syntax colouring (the editor on the Prime does not), which helps a lot when writing a lot of code. You can upload your program to the Prime emulator or to the physical calculator almost immediately, test, make corrections, rinse and repeat. Overall, it’s a really nice development workflow.
But there is something missing: surprisingly, the Editor has no Find & Replace! I can’t understand why the HP Prime team hasn’t implemented a basic feature that can be found in every other text editor in existence. It may not be necessary for small programs with very few lines of code, but it’s crucial for larger projects.
There are a couple of alternatives to circumvent this limitation. The first one involves writing your code in the Connectivity Kit editor (so that you can take advantage of the syntax colouring), then copy and paste everything to an external text editor every time you need to find/replace something, and finally copy/paste back to the HP editor. Yeah, I know… cumbersome and inefficient.
Another alternative is to use an external text editor as the primary coding tool. I use BBEdit with a plugin to get syntax highlighting for the HP Prime Programming Language (HP PPL). You can grab one here from Andy Bulka, and another one here from tcab. This way, you can use all the advanced features of a true coding editor, and also get syntax colouring.
But there’s one problem with this method: currently, the only way to send files to the calculator is through the Connectivity Kit, which means that you still need to copy and paste all the code from BBEdit to the HP Connectivity editor each time you want to test/debug on either the calculator or the emulator. A bit annoying, if you ask me.
In summary, the HP Connectivity Kit is much better than previous programming solutions for older HP calculators. It’s mostly rock solid (the current version crashes when you disconnect the actual calculator, but I can live with that), it works great when transferring files between your computer and the Prime, and it’s pretty usable even for very large projects.
But still, there is a lot of room for improvement. In particular, some basic features like the Find & Replace function are desperately needed. I only hope that we’ll get this function in a future software update (fingers crossed). Also, it would be nice to have some sort of inline help function for commands and syntax, but I guess that’s too much to ask for 🙂
Things that I like
The HP Prime has fitted nicely into my daily workflow as an app/games developer. In that regard, these are some of the things that impressed me the most, in no particular order:
- The Prime is fast. It makes the 50g look like a snail. Functions are plotted almost instantly, even complex ones. You can pinch to zoom or drag the graph with your finger, and it redraws so fast that you can barely notice it. Being used to the speed of current computers, tablets and smartphones, it’s great to use a calculator that doesn’t lag behind.
- I like the way vectors and matrices can be entered on the Prime. You can use a template to type the values directly in the command line, adding rows and columns as needed, but I prefer to use the dedicated matrix editor, which is in fact very similar to a spreadsheet. Both methods allow for touch input, making it much easier to enter matrices than the way it was done in the HP-50g.
- There’s a nice integer base conversion utility that I found to be very useful when dealing with binary/hex/decimal arithmetics. It has a full-screen interface that shows the results in real time as you’re working with the numbers. It’s not suitable for IEEE floating-point binary operations, but it works fine for common integer stuff, the one that is mostly used in graphics programming.
- Sometimes you don’t want to mess with programs, and just want to quickly use some custom function multiple times. The Prime gives you the ability to ‘Define’ user functions very easily: enter a name, type in the function and you’re done. Your custom functions can be called anywhere by pressing the ‘Toolbox’ key, then tapping User -> User Functions. Or you can just type their name directly on the command line and pass the required arguments.
- The Prime Programming Language is, at least in my opinion, much more powerful and convenient than the User RPL in the 48 series. It makes your code easier to read and maintain. You can write a complex program today, come back to it a few months later and actually understand what the code is doing, without the need to grab a sheet of paper and try to replicate a myriad of stack operations. Also PPL allows for better structured programs, very similar to what can be done in other programming languages.
- The Prime graphics capabilities, combined with the color LCD and the touch screen take the calculator to another level, greatly improving its versatility. It gives you the ease of use of a smartphone, but with the advanced capabilities of a true scientific calculator. Granted, an iPhone can do anything the Prime does, but it would require a lot of complex programming to get the functionality that a scientific calculator gives you for free.
- Although I don’t use it that much, the Computer Algebraic System (CAS) is very powerful, and it seems to have been improved over time. It has its own dedicated environment on the calculator, different from the default operating mode, but you can easily copy and paste values and expressions between them.
- Lastly, the form factor, dimensions and weight of the Prime make it much more comfortable to use than the HP-50g and previous models. It’s still a big calculator (bigger in size than a ‘Plus’ iPhone model), but it has very good ergonomics. Moreover, the manufacturing quality and materials are top notch, up to classic HP calculator standards.
Things that should be improved
There is no such thing as the perfect calculator, but the Prime could be very close if HP addresses some of its current shortcomings in a future model:
- Give us a high density, retina-like display. Please.
- The ability to easily create Custom Menus with user soft keys would be great.
- Implement a Search/Replace function in the Connectivity Kit editor.
- And while you are at it, maybe an inline help function for PPL commands.
- Bluetooth connectivity with the computer would be awesome.
- A firmware option for professionals that gets rid of the “Exam Mode” stuff, with no hardware or software constraints, and open transfer protocol.
Much less important, but also nice:
- Include a soft pouch or carrying case in the package.
- An Advanced User Guide or Prime Programming printed manual would also be great. You can use recycled paper 🙂
The HP Prime is a great Graphing/Scientific calculator. It’s the best one that I’ve used so far, and a worthy successor to the HP-48/49/50.
From what I’ve read in related forums, most of the criticism comes from the fact that it’s not a true RPN calculator, and that not everybody likes the new user interface. I may be wrong, but I think that people that have been using the 48 series for a very long time were probably expecting an evolved HP-50g with updated hardware, but that’s not the case: The Prime is a different machine that gives its best when approached from a different angle.
Even though this calculator has been heavily marketed towards student/educator audiences, it still has enough value left for professionals. In that regard, it would be nice if HP released a firmware for ‘pros’ without any artificial constraints, open documentation on the communications protocol (so we can develop our own programming and file transfer solutions) and also get rid of the ‘Exam mode’ stuff, that has absolutely no use for us.
Should you include it in your arsenal of development tools? Well, if you are into games development, 3D Graphics programming, scientific, engineering or architecture software development, then the HP Prime will serve you well. And for just 130 euros it’s a real bargain. You’ll not regret it.