Photo by Ron Fredericks using Canon EOS-10D 34mm fluorite lens, circular polarizer, 1.5s & f/22 @ ISO 100, on tripod, from Embedded Components’ HP lab collection.
Ron Fredericks writes: I envision the day when community software engineering projects are commonplace for embedded devices. Like the PPC ROM demonstrated back in 1981.
What follows is a review of the PPC ROM community development project – a first for smart mobile devices, then an offer to help others in moving this great body of open source professional tools to modern devices: comment on this post if you are interested in this project or in community development of software for embedded devices in general.
Wouldn’t it be nice to have powerful new applications built on top of our routers, digital recorders, HDTV’s; or even industrial process monitor and control systems, or lab instruments; hey how about our cars and public transport vehicles? No I don’t mean that you buy a new device or car with new applications pre-loaded by the device manufacturer and shipped with the soon to be obsolete device – I mean groups of experts organizing into communities with other experts to design, develop, test, document, package, and deliver new software solutions onto devices for their own members’ sales channels. Does this sound far fetched?
Community development around open-source software such as Java, the Linux operating system, or Mozilla’s Firefox web browser have emerged as reusable project management solutions to complex software engineering issues – See Asa Dotzler’s Job Morph: Herding Cats to see how Mozilla motivates workers who aren’t actually on the payroll.. So I know the engineering community is ready for a new challenge – one that has already been solved back in 1981 – one that affects the speed of technology reuse around the globe today.
Photo by Ron Fredericks using the same settings as the previous photo, of his favorite mobile smart device.
So let me share with you a project I recently discovered. Itâ€™s embodied in a userâ€™s manual published in 1981 by a community of engineers â€“ no, not your typical product manual ticked out on a company payroll. The forward describes a first-of-its-kind effort behind this user manual, and the embedded software it documents. The author expresses his excitement in being part of the â€œfirst community developerâ€ project for a smart mobile computing device and it is so similar to the smart devices we use today! Did I mention that Linux, or even community networks like web and email didn’t exist back then? How did they do it? Can we learn from their effort and apply this community project, or its method, for today’s embedded devices? I think the answer is yes – with a little help from the embedded operating system suppliers’ communities and some innovative hardware device manufacturers. The embedded operating system, software community project management, and smart device platforms have come to a wonderful cross-road that truly supports community software development as a ripe low-hanging opportunity for us today.
The forward to this 500 page user manual describes the struggle and accomplishment of 100 developers who formed their own community project to develop a â€œROMâ€ or read-only memory module they called a â€œPPC ROMâ€ that plugs into an HP personal computer that is now 25 years obsolete called an HP-41. The â€œPPCâ€ reference is to the names – Personal Programmable Calculator, or Personal Programmer’s Club, or Prolific and Productive Computing – as well as the PPC Calculator Journal that was the herald for the HP calculator’s developer community back in the day. Similar to the commonplace e’zines we read, or get spammed with today. But different because the taxonomy created by todayâ€™s almost endless stream of eBlasts, tagged content, blogs, forums, and RSS feeds by themselves don’t create an engineers’ sense of community. The spontaneous motivation to organize into a sense of community requires a mood that has only been created by a real person – a person that shifts a group of developers’ paradigm .
Perhaps many of you remember Philippe Kahn, who created a cozy engineering mood with his Turbo Pascal and Turbo C compilers – these cheap little things that were killer apps that grew the base of available programmers for several years. Prior compilers for the early PC’s cost 10 times more. Within the HP-41 community there was William Wickes â€“ a community engineering leader that helped to grow the base of programmable calculator developers that in-turn grew the base of engineering, scientific, financial, and many other professionals and students so commonly outsourced by the global community today. Mr. Wickes lead the discovery of a new programming technique for the HP-41 called synthetic programming. Like Philippe’s community contribution to the PC developer community, Bill was able to drive significant developer excitement into an otherwise limited calculator programming community.
The PPC ROM’s core management team wrote in the forward to PPC ROM user’s manual…
â€œThis project is unique in the history of software projects. IBM and other large corporations have assigned multi-tens of programmers to a software project, but never before have over 100 programmers worked so long and so hard on a project â€” without compensation of any kind. The PPC ROM PROJECT is a community project in the true sense of the word….It took two years and two months to complete…â€
The forward then goes on to discuss the challenges of working with a personal computer that had so little memory and other constrained hardware issues – very similar to developing the content and applications in demand on mobile smart devices today! Their solution, why they did it, how they managed to stay together to finish it, and how they partnered with HP to build, and package the ROM Module itself is also described.
To be clear, the PPC ROM wasn’t a one-off, there were other community projects that replicated this first success with the creation of the ZENROM, HEPAX, and other plug-in modules for the HP-41 too. I get the impression that todayâ€™s embedded community could succeed in the creation and deployment of software onto aftermarket embedded devices by following the same process pioneered by the developers of the PPC ROM:
- Select a product mix with applications, tools, middleware, entertainment, and educational content that is attractive to end users but also encourages component reuse by more developers who in turn then create even more attractive reusable solutions.
- Select a project management model similar to other recent and very successful â€œcat herdingâ€ open-source web community efforts. The new social network communities frequented by developers make the PPC ROM story much easier to duplicate.
- Select a hardware platform vendor willing to facilitate software packaging, delivery, execution, and reuse methods such as over-the-air, network download, or even a group-published flash chip.
- Harness the power of a community manager. The likes of PPC ROM’s synthetic programming allure created by William Wickes, Linux’s Linus Torvald, and Mozilla’s Asa Dotzler are some of the more famous examples of community managers for engineering development.
Now that is just what I am proposing. Let’s revisit this community development effort by moving the freely available HP-41 applications to an emulator that can run on common mobile devices easily available in today’s community. First step might be to see how the existing HP-41 emulators works on your favorite device with the hope that all the engineering, scientific, financial and other professional applications can be downloaded and used too. More on this effort and community software development will follow…
References to the excellent HP-41 emulator work and open-source site by Warren Furlow and others…
You can download a Windows PC/Linux/Windows Mobile/PalmOS emulator of the HP-41 personal computer, add your own programs to it, and load the actual PPC-ROM moduleâ€™s binary image [as well as 50 or more other professional solution packs and ROMs] and use this great little personal computer along with these PPC ROM applications as a perfect replacement for that dumb little Windows calculator:
Oops, where’s the Java version?
You can get your own copy of the historically significant PPC ROM user’s manual from here:
Add the PPC ROM code to your new HP emulated calculator from here:
Here are some other ROM code modules that work with your new emulator!
- Circuit Analysis
- Clinical Lab and Nuclear Medicine
- Financial Decisions
- Home Management
- Machine Design
- Petroleum Fluids
- Real Estate
- Standard Applications
- Stress Analysis
- Structural Analysis
- Thermal & Transport Science
Technorati Tags: Ron Fredericks, community, software, engineering, projects, embedded device, router, digital recorder, HDTV, industrial, instrument, car, vehicle, open-source, Java, Linux, Mozilla, Firefox, project management, community developer, PPC ROM, Personal Programmable Calculator, Personal Programmer’s Club, Prolific and Productive Computing, PPC Calculator Journal, Philippe Kahn, constrained hardware, ZENROM, HEPAX, component, community manager, William Wickes, Linus Torvald, Asa Dotzler, Warren Furlow