Programming for an iPad

I have a potential customer who wants a way to do job estimation from his iPad.

It would involved an estimation grid appearing - think like a pricing table/spreadsheet - and he could just tap on the appropriate cells in the grid to build an estimate.

What would it require to build such a system?

Could I just create a website that has “Responsive Design”, or would it require me building an App?

Would I need to learn complicated things like Objective-C, MVC, OOP, etc?

All I know is HTML, CSS, PHP and MySQL…

Yes, this is the easiest (and the cheapest) way to do that. But you missed JavaScript in your knowledge list so you have to learn it first (you will need it to react on “taps”). It’s not as complicated as you may think. If you already have programming experience in other languages (PHP?) you’ll get JS fast enough (couple of days to understand the basics).

1 Like

I knew of some people who achieved this in PhoneGap and HTML5 many years ago and now that combination is far better. So I think it’s your best bet.

Well, a couple of people here on SitePoint have been hounding me because I don’t know JavaScript, so I guess this would be a good way to learn!!

In addition to learning JavaScript, what all else would I need to do?

I mean I have no idea where to begin - and I don’t even own an iPad?!

Would I need a Developer license or whatever from Apple?

Would I need other development tools or things that I wouldn’t already have?

I guess I don’t understand how you develop on an iPad…

What is PhoneGap?

And why is it better than using JavaScript?

What is that? It looks like a website that can act as a virtual machine and pretend to be any browser or device you want?

It has many many different mobile devices and tablets (and desktop browsers, OS’s etc) where you can replicate almost any environment. Do the 30 minute trial. Well worth it. My work gives it to me for free since I do a lot of CSS and I couldn’t live without it.

What about privacy and security?

That seems dangerous to be sticking your code up on someone else’s website…

No, I should clarify. You have a website called thingy.com

You enter in the URL and the OS/device/resolution you want, and it loads up a virtual display of that device for the specific URL you want loaded.

Does that help? Think of it as having all the browsers in the world, right at your fingertips. You don’t enter in any code.

Well, they could technically “lift” all of your page layout and HTML and CSS, right?

(Sorry for being paranoid, but it pays to think about such things!)

I mean, sure? Anyone anywhere in the world can do that though. Not sure why that matters. All of that is easily seen in the view-source.

2 Likes

Would this “potential customer” be willing to wait 2-3 years for you to accumulate the knowledge of JavaScript, HTML, CSS, PhoneGap, and the Apple Xcode environment?

What is your level of programming currently?

@megazoid,

I was hoping to hear back from you on my questions above.

@RyanReese just made it sound like it would be easy…

Where did Xcode come in?

I asked because I obviously don’t have 2-3 years!

I think I am good with HTML, CSS and PHP, although I don’t know OOP.

It depends on your goal. I guess JS is enough if you already know HTML/СSS/PHP.

You don’t need an iPad or any permissions from Apple. You’re just going to make regular responsive website which will be opened on iPad using its browser.

OK, I thought of my answer after I forgot you’ve already listed your code knowledge. Duh. Xcode would come in only if you want to post the app in the App Store. Not necessary if it is a web app accessible by any device through a browser.

But since you find it OK to put this data online, the next thing you need to know is to program it in JS so that when a tap is performed on a figure, that figure will be captured and added to the next figure that is tapped. Is this what you want?

@megazoid, is it correct that just using HTML and JavaScript, I will be able to make a website that recognizes and processes touch commands from a touch screen?

How do touch screens even work? I assume that there is some special technology built into an iPad that allows it to recognize where the user is touching the screen, right?

I mean you certainly couldn’t turn a regular MacBook into a touch-screen just using JavaScript, could you?

To be clear, I am trying to avoid building an “app”, because apps definitely require a Mac Developer license, and knowledge of Objective-C and lots of other things that could take me years to learn!

In my OP, I was trying to figure out if a “responsive” website would be good enough for hat I am trying to build.

What is that, again?

This potential client wants a customized program that allows him to do estimates out in the field. (He doesn’t like the ones out on the market.)

From the little he described, the program would have a table/gridlokkup table, and based on criteria across the X and Y axes, he would look up the price for a certain type of repair and tap that number - almost like a sales tax table.

So I would need a way to take taps on his iPad, and then transform them into codes or prices that would be added onto the estimate.

I have heard people on SitePoint talk about how responsive websites are more than sufficient for catering to mobile device users while also serving regular pc users, but I wasn’t sure about the interactive tapping part.

I would love to eventually learn OOP and MVC and Objective-C and build apps for the Apple Store, but that isn’t going to happen anytime soon!

In the mean time of my web development journey, I was hoping that if I learn HTML5 and whatever flavor of JavaScript, that maybe I could not only learn to make “responsive” websites, but ones that are interactive and that process taps from a monitor/display.

So, do others agree that I could build program for this guys just using his iPad and HTML5 and JavaScript, or is this one of those cases where an app is better?

Hope that makes sense…

It sounds as if you want every figure in a table to be tapable (why choose x and y when you can tap on the number or field directly?) Each tap adds a figure to a previous figure, right? So you would make each figure an < a href > with an onclick event for adding the number to previous numbers. And you would have a running count in a rectangle at top or bottom. This can be quickly done with JS by an experienced programmer.

If you make the sequence of events clear that you want to perform and post it in the JavaScript forum, you might get some good ideas on how to get started.

If the scenario above is not what you want, then you’ll need to explain further. (And yes, learn a bit of responsive web design.) A web app for this will be more than sufficient.

“Touch” on touch screen is equal to “click” with mouse on desktop PC. So you’ll just listen to onclick event with Javascript and you shouldn’t care how exactly that click was made (with mouse or with finger on touch screen).