User Name
Password

Not a member?
Register
Forgot your password?
Recover
Forgot your username?
Remind






Getting Their Mojo Working: webOS Developer Profiles


Part 6: Developing an app in three weeks, and supporting multiple screen sizes


October 20, 2009

Editor's note: "Getting Their Mojo Working: webOS Developer Profiles" is a semi-regular series of interviews with developers who were among the first to use Palm® webOS™ and the Palm Mojo™ SDK and get apps into the Palm Application Catalog. If you submit your app and it's accepted to the catalog, you just might find your story here, too. But hurry, lots of new apps are coming in all the time.

Yelp for Palm® Pre™ uses location-aware technology to find the best local businesses for users on the go. They can read reviews, browse photos, or get a map. And only webOS users can save listings to Contacts, or share listings with friends via email or text. Recently we spoke with Eric Singley, Yelp's product manager for mobile products, about how he came to San Francisco to join the Web 2.0 community and his role in designing Yelp's newest mobile application. Also present was JR Heard, lead webOS developer for Yelp, who talked about how Yelp is able to support both webOS devices – Pre and Pixi. (See Palm.com for more information about Palm Pixi™.)



webOSdev: Where you born and raised? What have you studied?

Eric: This is going to be awhile, we're digging deep! (laughs)

I was born in Minnesota and went to college at Northwestern, just outside of Chicago. I studied computer science and psychology there. Actually it's an odd mix of things. My dad was an engineer, my mom was a psychologist, and I got a brain that was a nice even split between the two of them. I couldn't decide what to study, so I went with both. That led me in a direction that was engineering focused but with a human computer interaction, design, product design spin.

webOSdev: Where have you worked since college?

Eric: After I graduated I worked for a start-up that was a spin-off of the Tribune Corporation. It was a job search site for college students. I did some engineering, and a lot of usability and design work. From there I did some consulting, focused primarily on web design, usability, user interface design, product management, and that kind of thing. After six years in Chicago I moved out to San Francisco, started working at Yelp right away, and I've been here ever since. I'm a product manager and I head up everything related to mobile. When I first got here, we had a WAP site and that was about it. After we started in on iPhone development in July of last year, I've been going full tilt on mobile ever since.

webOSdev: Developing for mobile must be quite different.

Eric: Yeah, very much so. It's different in a number of respects. There's the screen size, the constraints of screen real estate, but also the usage is different. People are using these applications on the weekend, when they're on the go, when they're walking… so everything has to be very fast, very simple. It's definitely a whole different way of designing.

webOSdev: So tell me how you got going with Yelp Mobile for webOS.

Eric: At Yelp we rely heavily on Adobe Fireworks. So when we started working, I jumped into Fireworks, found some webOS templates that were floating around the web, and started going from there. I modeled the webOS app on our first iPhone app but wanted to take advantage of all of the UI conventions that were native to webOS. We wanted to keep it very simple for people to use, focus on the features that people would use the most often, and just have a streamlined, utilitarian kind of app. I mocked everything up in Fireworks, worked with our engineers to hone the design a bit, and then our intern was off and running.

webOSdev: So that was the design part of it. How about development?

Eric: We actually had an intern write our webOS app. When we gave him the project he said, "I've been preparing his whole career for this!" (laughs) He had just the right set of skills. He was really strong on web development and had a good eye for design. Everything came together quickly. He was able to crank out an app in under three weeks. He had something pretty solid within a week, and then we spent the next two weeks honing and iterating.

webOSdev: In addition to Fireworks, what other tools did you use?

Eric: That's pretty much it. We used Fireworks and then the intern used TextMate to do his development. And of course we used the Palm Emulator.

webOSdev: What kind of surprises were there along the way?

Eric: I was really very, very impressed with the SDK and how easy it was for us to get moving on webOS quickly. webOS extracted the pain so that we were able to build something that looked really good and that worked well — much faster than we were able to on any other platform. In addition, when other engineers had a few hours here and there to spare, they could jump in and quickly help out our primary webOS engineer. Even me with my rusty engineering skills could have jumped in there! Luckily I didn't have to do it, but I could have. I could understand the code. Our webOS app was something that a lot of people, without a lot of training time, could jump in and help out with.

webOSdev: That must have been really fun for you.

Eric: Yeah. It was really a lot of fun to develop for. The widgets and UI conventions were easy to adopt, were really well thought out, and were really well done. It was nice to have a set of buttons and controls that were relatively simple to work with.

webOSdev: JR, tell me a little bit about the design process from an engineering perspective.

JR: I relied a lot on Eric for the design process. The only way that we were able to make it in that incredibly short time span is because webOS is completely based on proven web technologies that web developers already know. When I was asked, "Hey, do you want to do this thing? You only have three weeks," I was a little bit anxious. But when I was handed these tools I've been working with for years, that provided a lot of comfort and was definitely the key for us making it in that short time span.

webOSdev: Like all apps, you delivered Yelp with Palm Pre in mind. I understand that Yelp for webOS is ready for Palm Pixi, as well. How did you go about supporting both devices?

JR: It was actually phenomenally easy because webOS allows us to check the number of usable rows. During development we were told that it was eight for the Pre and it would smaller for the new device. For the Pixi, we just added an extra CSS class to the body of that particular scene and wrote an extra CSS rule. It was maybe five or six lines of code and everything else just worked.

Editor’s note: You can see the code Yelp used to do this and JR’s and Eric’s explanation of it in the sidebar, “How Yelp made their app works on Palm Pixi.”

webOSdev: Turning back to Eric now: If someone were to come to you and ask for advice about developing for webOS, what would you say?

Eric: Good question. I would say look at apps that people are using all the time, such as Mail and Maps, and try to use as many of their UI conventions in your app as you can. Not only is that going to make for a better user experience, but it'll also make for a better developer experience because you're using controls and conventions that are already built in.

webOSdev: How was Palm as a partner?

Eric: Especially on the technical support side, I would say fantastic. We would send questions to our Palm developer relations contact who would immediately relay them to a couple of more technical folks, and they would get back to us very, very quickly. That was a resource that we didn't have at that level with other partners. That was great and definitely valuable to us.

Another thing I would say is that I was impressed and happy about Palm's app review process. We got back this PDF document with screen shots and specific things they wanted us to look at; that was incredibly useful. There was nothing that made us roll our eyes. Everything made sense.

webOSdev: To close things out, we've got some off-the-wall questions.

Eric: All right, I'm ready!

webOSdev: How many cell phones have you had in the last five years?

Eric: : (laughs) How many have I had in the last five years? I will say… three.

webOSdev: What do you remember about your very first cell phone?

Eric: I remember not being able to decide whether to leave it on all the time. (laughs) Which is funny because when you first get a phone you have this thing and it's always powered on, and I'm not sure, should I turn it off a night? Should I leave it on? Which is weird because your landline phone is, quote unquote, on all the time but…

webOSdev: How do you prefer to communicate with other people?

Eric: I'd say email and text and Instant Messenger are probably the forms of communication I use the most. It's surprising actually how little I actually talk on the phone. I keep lowering the number of minutes that I have in my plan because I talk to my parents and my sister, and that's pretty much it. (chuckles) My other communication pretty much happens on-line, for better or for worse. I can't say it's necessarily a good thing but… that's how it happened.

webOSdev: If you need to stay up all night working, how do you keep yourself going?

Eric: Hmm… Being around other people I think is probably the most helpful. We've pulled a couple of those late nights, probably more than I'd like to admit, in the office and I think… yeah, if you've got a good motivated group and everyone's cranking on something, that's definitely a motivator. And then there's the obvious: lots of caffeine and music, but I'd say mostly being around other people who are motivated definitely works well for me.

webOSdev: When you get stuck with a problem, how do you get unstuck?

Eric: Good question. I have two tactics. One is to stop working on it for a while and come back to it later. I think that's probably something that a lot of people do. And then asking other people. You can stare at a design for eight hours and then someone can look at it for five minutes and find something that you overlooked just because you've been staring at it a little bit too long.

webOSdev: That's it! Thanks.

Eric: Great.



Want webOSdev to interview you, or do you want to help create technical content that might help other webOS developers? Then be sure to submit your app. Once it’s accepted, Palm will tell you what the next steps are.