Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

CyberGeek

macrumors member
Original poster
Jun 30, 2007
38
0
I just put the finishing touches on a really simple app. It's a tip calculator. It doesn't actually have much purpose other than as an exercise in creating an iPhone-specific app. I'm interested in any feedback about any aspect of it, though I am particularly interested in any feedback about the 'feel' of the app, like if it seems more like an app than a website.

You can view the app (please use an iPhone) at http://donaldhays.com/iphone/tip/
 
the one thing that bothered me was the last part of the information text. calling people who don't leave tip a selfish jerk is unnecessary. an application should not make that judgement of people.
 
Over here it is 10% customary. I think the text should be left out altogether.

Did you see the microsoft table tip calculator, that was pretty cool.
 
Doesn't no tip mean that you're not gonna be using a tip calculating app?

That text is not necessary...
 
If I click the money or split field, the numeric kb should come up.

Cute little app but I would never go to a web page to calculate a tip. I wouldn't even use the built in calculator. How hard is it to figure out 15, 20 or 25%?
 
folks, CyberGeek specifically stated upfront that it is an exercise in iPhone app development and not whether you are giong to use it in real life or not or whether the text that shows up are offensive to the consumer or not. :) If you look at his code, you will know why he needed some text/any text.

It looks like an app rather than a web page. I guess the rule is fill the screen up completely with app content to hide that it is a web page, is it?
BTW, neat and understandeable coding style.

CG, I would think the next task for you would be to use XMLHttpRequest() asynchronously and show some dynamic web pages. That will show the possibilities of web 2.0 for a handheld computer. The challenge is to come up with cool ideas for apps that lend themselves to XMLHttpRequest. Would some two-person collaborative apps/games be useful for that demo? Two player tic-tac-toe, checkers or chess? But initially something simple to show the usefulness of XMLHttpRequest() for a handheld computer...

Also, what would be cool is show how the horizontal flick can be used to interact with a web page without reloading the page. This would be a cool demo of flick and XMLHttpRequest(). Say, create a book-shelf metaphor ( say a list of books from an Amazon search result ) and as you flick your finger horizontally, it will display the title of the page ( no need for fancy graphics for the demo ). And then as you touch another button 'more books by this author', do a query in the backend and display the shelf of results which are then flick'able.
 
tip calculator

How about a check box for rounding up total to nearest dollar, increasing the tip by appropriate cents?
 
I've made just a few tweaks. First, I changed the text of the "selfish jerk" hint. It was intended to be funny, but I wrote it at 2am as sleepiness was overcoming me. Upon reading it later, I agree that it came across as rude rather than funny. Apologies to anyone offended.

Second, I added a bit of animation. Cycling between the hints will cause them to slide off and on screen, as well as fade in and out. Animation on the iPhone is a rather interesting challenge, due to its comparatively low performance. When I first put the animation in there I got rather poor performance (perhaps 5FPS). I did some selective optimizations that got it up to its current point which, while not great, is acceptable. The really big thing that improved performance was enclosing the animated div inside another div that was sized to fit the animated div's content area, and had the css overflow property set to hidden. I suspect that this helped Safari restrict the area that it had to repaint, improving performance.

As has been pointed out, it's not terribly difficult to calculate tips mentally, so the practical value of the app (like all tip calculators) is limited. Again, the app is basically an exercise in creating something specifically for the iPhone, rather than something that is intended to be used regularly (even by me).

Something interesting, I had originally set up the app so that you could not zoom in by double-tapping or doing the pinch. The app is made to be viewed at its native size in portrait mode, so disabling user-zooming seemed logical. Strangely, it appears that if you disable user-zooming you also lose the ability to manually position the cursor in text fields (the thing where you get the loupe to see where the cursor will end up). I believe that to be a bug, and I should probably file it with Apple somewhere.

I know one thing in the app that I really don't like, and it's that the three major sections each have totally unique visual themes. Glass, polished metal, and something that is kinda like Steve Jobs' keynote theme. There really should be only one theme, but whatever. It's an experimental app.
 
Very nice for proof of concept. Although this gets into specifics, might make the tip percentage a drop down. the individual is nice, but I suspect most people would pick a common percentage as opposed to entering it, which would save some time.

I hope to see more apps like this. Just fits on the page nice. works well.

Nice job.
 
I would love a tip calculator where I am able to place my own food prices in to the calculator in sections.

What i mean:

My girlfriend and I go out to eat a a restaurant with say 4 other friends. My girlfriend and I do a separate check while the other 4 do a split check between them (We do this because the other 4 friends usually get out rageous personal things and then think we should split the bill equally no matter what. For example they order chips and salsa, but my girlfriend and I do not want chips and salsa at the moment. They would ignorantly still expect us to split the bill or we would have to do the math at the end.

So my ideal tip calculator would also be a bill splitter.

Example:
Sections - Put the price of each item in to sections. Then put what part of the group each item goes to. Split the Tax equally, and then calculate the tip.

The ideal result would be how much I owe for my girlfriend and I +tip and tax, and another result with out much the group owes split 4 ways plus +tip and tax.
 
Any other app under development, CG. I am curious what you have cooking from a AJAX/XMLHttpRequest point of view...
 
the one thing that bothered me was the last part of the information text. calling people who don't leave tip a selfish jerk is unnecessary. an application should not make that judgement of people.

My heart bleeds for you
 
I'm actually working on two things, though I'm not yet ready to show either of them off. Both will, however, involve AJAX and the canvas tag. The canvas tag, by the way, has much greater performance than I first thought. People developing games should strongly consider using it.
 
Nice work! One thing that occurs to me is that it would probably be easier to use (and good practice in terms of coding, and more like an application, etc, etc) if you did one of these:

1) made more room for preset buttons -- like perhaps a row of 5%, 10%, 15%, 20%, 25%, etc... so that you can just hit one of these instead of entering in a tip amount.

2) Entered in the dollar amount and got the readout for several different tip %ages at once. (e.g. total = xxx @ 10% tip, ....)

And ok, ok, as far as the text goes. :p But is it really customary to tip body piercers or tattoists? You might want to say hair stylist instead of barber. :p
 
Wikipedia has an in-depth explanation, but in summary the canvas tag allows developers to use Javascript to perform more or less arbitrary graphics operations in a rectangular area. It can be used for anything from charts to game graphics.
 
Just out of interest, i'm going to San Francisco on holiday in a few months time, do i leave a tip or not, because it's not customary to leave one in the UK, and i don't want to piss people off
 
Use CG's page, no one will be pissed off at you. :) yes, the wait(ers/resses) earn their living through tips. Their salary is way below minimum wage. 15 to 20% or double the taxes are the norm.
 
Just out of interest, i'm going to San Francisco on holiday in a few months time, do i leave a tip or not, because it's not customary to leave one in the UK, and i don't want to piss people off

Following the Off Topic just briefly... the OP's applet's advice is generally accurate here. I'm sure you can find FAQs, but typically, the following tips are considered fairly mandatory:

- Any restaurant with service (waiter/waitress), bellhop / service assistant in hotel, hair stylist, food delivery including room service, taxi

Those are the ones where people will look at you strange if you do not leave a tip. The following tips are often considered optional:

- Any kind of self-service restaurant / food stand with a tip jar, e.g. Starbucks, bartenders (people usually leave at least some tip but not necessarily drink by drink), maid service in hotels (I don't think most people leave a particular percentage or feel obligated to do it every day), airport limos and shared conveyances. People occasionally tip hosts/hostesses/maîtres at restaurants and clubs, but that's more of a bribe than a tip. :p

It's usually considered inappropriate to tip other staff / personnel at hotels, stores, museums, etc, and certainly at any kind of civil / governmental facility.
 
Following the Off Topic just briefly... the OP's applet's advice is generally accurate here. I'm sure you can find FAQs, but typically, the following tips are considered fairly mandatory:

- Any restaurant with service (waiter/waitress), bellhop / service assistant in hotel, hair stylist, food delivery including room service, taxi

Those are the ones where people will look at you strange if you do not leave a tip. The following tips are often considered optional:

- Any kind of self-service restaurant / food stand with a tip jar, e.g. Starbucks, bartenders (people usually leave at least some tip but not necessarily drink by drink), maid service in hotels (I don't think most people leave a particular percentage or feel obligated to do it every day), airport limos and shared conveyances. People occasionally tip hosts/hostesses/maîtres at restaurants and clubs, but that's more of a bribe than a tip. :p

It's usually considered inappropriate to tip other staff / personnel at hotels, stores, museums, etc, and certainly at any kind of civil / governmental facility.
Yeah i heard you could bribe maîtres into getting you a table if a place is full:eek:
 
Second, I added a bit of animation. Cycling between the hints will cause them to slide off and on screen, as well as fade in and out. Animation on the iPhone is a rather interesting challenge, due to its comparatively low performance. When I first put the animation in there I got rather poor performance (perhaps 5FPS). I did some selective optimizations that got it up to its current point which, while not great, is acceptable. The really big thing that improved performance was enclosing the animated div inside another div that was sized to fit the animated div's content area, and had the css overflow property set to hidden. I suspect that this helped Safari restrict the area that it had to repaint, improving performance.
Good stuff, and some excellent observations. I hope you don't mind if I quote you. I'm putting together a nice quick reference guide.
As has been pointed out, it's not terribly difficult to calculate tips mentally, so the practical value of the app (like all tip calculators) is limited. Again, the app is basically an exercise in creating something specifically for the iPhone, rather than something that is intended to be used regularly (even by me).
That's cool. You've done an awesome job!
Something interesting, I had originally set up the app so that you could not zoom in by double-tapping or doing the pinch. The app is made to be viewed at its native size in portrait mode, so disabling user-zooming seemed logical. Strangely, it appears that if you disable user-zooming you also lose the ability to manually position the cursor in text fields (the thing where you get the loupe to see where the cursor will end up). I believe that to be a bug, and I should probably file it with Apple somewhere.
Some thoughts though. Some of what you have there is somewhat inconvenient for users. For instance, you're concerned about getting the "insertion" loupe, yet for something this basic, one would hope NOT to need it.

For instance:
  • Standard tips should simply be a drop-down menu, complete with the most common percentages.
  • A cookie should be used to remember the last one you chose when visiting the website. Same with splits I'd think.
  • Use the numeric keypad and not the Qwerty keyboard
  • Consider making all input fields bigger and more conveniently spaced by removing the "result" fields a the top. A "calculate" button could produce the final result, thereby saving screen realestate.
  • Hide the menu bar
Regarding the billing amount, there are certain field names that the iPhone automatically interprets as numeric. I'm still trying to track down a list, but considering users would not notice the difference, try naming the "billing" field "zipcode". When clicking it, you should now get a numeric keypad instead of a keyboard.
I know one thing in the app that I really don't like, and it's that the three major sections each have totally unique visual themes. Glass, polished metal, and something that is kinda like Steve Jobs' keynote theme. There really should be only one theme, but whatever. It's an experimental app.
I'm not sure if you're aware of Joe Hewlitt's templates? There's a nice article about him on Wired:
http://blog.wired.com/monkeybites/2007/07/meet-joe-hewitt.html
http://www.joehewitt.com/files/liquid1.html (no menu bar)
There's the trick about hiding the menubar that you could definitely use. This would give you more space. Also, if you check out the "search" in that same template, you could use a similar effect to present the calculation after the user hits a "calculate" button. It doesn't need to be a page refresh obviously, but for the UI, my personal preference would be to NOT have it calculate the values in realtime using the "onblur" event from the fields. This just seems a little counter-intuitive.

My two cents!

~ CB
 
i like it.. but the interface and the design need more work, and the colors pick was a bad choice. ( just want to help)

ob: im an art director , im not a bussiness man saying **** lol...
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.