"In 1977, our uncle gave us $1,000 to buy a computer or a programmable calculator. We got one of the first Commodore PET 2001 models that came off the line with a 24K static RAM card. We ignored the advice to buy something with software, and that meant we had to do everything ourselves, from writing assemblers to writing games. The result was a great start."
|
 Twin Palm OS engineers, Danny and Peter Epstein |
A Taste of Things to Come
After writing their own assembler with a full-screen editor in 6502 assembler, Danny and Peter Epstein spent several years working in Smalltalk. They then switched to the Palm OS "so we could work on fun stuff." Their first app was Flytrap, a simple game with sophisticated background sound. Then, joined by a friend, they tackled the complex task of peer-to-peer syncing with BeamBooks.
"I wrote the transport state machine that provides an abstract bi-directional packet communication service built on top of the IrDA library," Peter explains. "Tricky stuff to debug!"
Can you see where this is going?
Making the Move to Palm OS
Danny and Peter Epstein have come a long way since their first tinkerings with a Commodore in the '70s. Today, both are developers at Palm, where Danny works on Exchange Manager, IR Library and contributing to the Palm-Dev-Forum, and Peter spends his time on Attention Manager, Calculator, and Datebook. Both work on UI design as well.
The brothers agree (surprise, surprise!) that one of the most exciting things about working on the Palm OS is the fact that millions of people around the world use their code. And it helps that they can explain to their mom what they do at work by pointing to the device and saying, "I did that!"
No Slouches Here
There are other motivators as well, as Danny explains. "The small size and implied constraints in memory, processor, and screen all make the Palm a lot like the early days of 8-bit computers. Since I got started in those early days, I really appreciate the problem of designing software in such a constrained environment. Even as we switch to ARM, we are always more constrained than a desktop computer, and that is compelling for me."
Since joining Palm near the end of Palm OS 3.5 development, Danny made the Exchange Manager support multiple exchange libraries, wrote the Host Transfer sample exchange library, and spends countless hours reporting and fixing bugs and providing hints and tips on Palm-Dev-Forum.
Continue >
|
Peter has done his fair share as well, working on both the OS and applications. He updated the calculator to have a different look with color buttons, square root, and a robust math foundation that doesn't have any of the bugs common in floating point calculations. He added support for Graffiti text entry in the keyboard dialog, worked on the new date and time panel for time zone support, and added Attention Manager. "I'm always critically evaluating new hardware and software to make sure it's as good as we can make it."
Excitement about the Future
With the next release of the OS just around the corner, the Epstein brothers are licking their chops over its new capabilities.
"The higher-resolution screens and ARM processors should provide an excellent platform for 8-bit emulation," Peter predicts. "I'd love to run a virtual Commodore-64 on the next Palm device!" Danny concurs. "I think enabling cool applications is our primary goal. I'm particularly looking forward to games that take advantage of the new hi-res color screens. Handspring's Treo is definitely on my wish list!"
Peter's outlook for the extended future is equally upbeat. "As Palm OS devices continue to get smaller while also taking on more functionality, they get more and more compelling to carry around. I started out with the very first Pilot 1000, the Palm V was leaps and bounds above that humble beginning, and I see no end in sight for improving handheld devices."
Pearls of Wisdom for Developers
When asked to provide a single piece of advice for people developing Palm OS applications, Danny couldn't limit it to one. "First, start by doing market research. See what people are downloading from PalmGear. The evolution of the Palm application space mirrors that of earlier platforms, so it's easy to predict. Learn from history! Second, look to the built-in apps for design guidance. They were very carefully designed. If you can figure out why they were designed the way they were, then you'll understand the Zen of Palm, and be able to design your own apps using the same philosophy."
Continue >
|
Again, no surprise that Peter had nearly the same advice, adding, "When you've got the application coded, hammer on it with gremlins using a debug ROM and the emulator until there are no bugs left. Then ship it!
PalmSource, and the Value of Networking, Collaboration
"My brother and I worked very closely together learning about computers, and realized how valuable it is to have someone to bounce ideas off," Peter says.
Perhaps this is why the two were often accused of cheating at university because their code was so similar. After they were given the same test in separate rooms and still produced nearly identical results, "they stopped bugging us," Danny recalls.
But collaboration and sharing ideas is still important. "Working with the other engineers here at Palm, I'm often humbled by just how sharp they are."
Both Epstein brothers are looking forward to talking with developers at PalmSource to find out what they're up to and what they need out of the OS.
"As a third-party developer, I found the Palm conferences indispensable," Danny says. "Being able to talk to the people who wrote the part of the OS you're working with is fantastic. Now I am one of those people!"
"Even as the conference has grown, it still has an intimate feel," Peter adds. "The energy and enthusiasm can be overwhelming."
You can find Danny and Peter Epstein in the Open Labs at PalmSource. Ask them the same question and see what happens!
|