PDA

View Full Version : iPhone app abilities & limitations




davidclayton
Jan 15, 2009, 09:43 AM
hi all,

i'm a new member, and have quite a few questions about iPhone apps.
i am not a developer and have no knowledge of programming,
but i am looking for outlet for the steady flow of ideas for iPhone apps that i have.
i need to first understand what the abilities & limitations for the iPhone OS and apps are, so here comes the qs:

----------------------------

* are the iPhone settings manageable/accessible from an app?
for example; can an app control the screen brightness, ringtone, vibration, wifi on/off, 3G on/off, etc...

* can an app access all of the hardware?
for example; can an app be created that uses the camera, light sensor, proximity sensor, microphone, accelerometer, etc...

* can an app access the internet and upload data/results to a server?

* how sensitive is the accelerometer? can it detect very minor vibrations?

* on my very brief research, i've seen some awesome apps that only work on jail-broken iphones/ipods.
why do developers release apps that only work on jail-broken iphones?
surely they could make some money by selling the app through the apple app store?
is it a legal issue/software restriction/moral decision?


i hope i have posted the questions in the correct forum.
all advice appreciated, thanks in advance,
dave



robbieduncan
Jan 15, 2009, 10:04 AM
These answers are based on using the official SDK: Jailbroken phone development may well be different.

* are the iPhone settings manageable/accessible from an app?
for example; can an app control the screen brightness, ringtone, vibration, wifi on/off, 3G on/off, etc...
No

* can an app access all of the hardware?
for example; can an app be created that uses the camera, light sensor, proximity sensor, microphone, accelerometer, etc..
No. You have limited access to some of the hardware. For example you cannot access the camera to take video or the bluetooth stack at all


* can an app access the internet and upload data/results to a server?
Yes

* how sensitive is the accelerometer? can it detect very minor vibrations?
Probably not. Check out existing apps and see. Also I'd not rely on all the phones having the same sensitivity...

* on my very brief research, i've seen some awesome apps that only work on jail-broken iphones/ipods.
why do developers release apps that only work on jail-broken iphones?
surely they could make some money by selling the app through the apple app store?
is it a legal issue/software restriction/moral decision?
See the above answers: the official SDK makes many apps that are available for jailbroken phones impossible.

firewood
Jan 15, 2009, 10:13 AM
Apple only accepts apps which run in a sandbox and do not access hardware features or settings not included in their official SDK. There is a developer agreement which spells all this out. Network access is supported by their SDK APIs.

Some people have tested the accelerometer accuracy. There is some variation unit to unit. Search the net.

.

xsmasher
Jan 15, 2009, 11:03 AM
* can an app access all of the hardware?
for example; can an app be created that uses the camera, light sensor, proximity sensor, microphone, accelerometer, etc...

Only some functions are available in the official SDK.

To be more specific here- with the camera, you can present an image picker that contains the current camera roll, or you can bring up the camera to allow the user to take a new picture. As robbieduncan said, no video or direct camera access (like silently taking a picture and live image capture) is supported.

There is no access to the light sensor no proximity sensor. You have full access to the microphone and accelerometer. You can also access location/GPS, but the user will be prompted first for their permission.

Two other much-requested features that are not supported by the SDK are "background" programs that run all the time, and access to systems settings.


* on my very brief research, i've seen some awesome apps that only work on jail-broken iphones/ipods.
why do developers release apps that only work on jail-broken iphones?
surely they could make some money by selling the app through the apple app store?
is it a legal issue/software restriction/moral decision?


If they used "hidden" functionality that Apple has not approved for use, then Apple may reject their app. If the dev doesn't want to remove that functionality, the they go the jailbreak route.

Apple also rejects some apps for "content" reasons - gambling, porn, violence, copyright violation, duplicate functionality, etc. If the developer still wants to get their app out, they'll have to release it for jailbroken iPhones.

davidclayton
Jan 15, 2009, 11:10 AM
thanks for the replies - especially to xsmasher, that answers quite a few of my questions.
i've signed up to the apple SDK, and am downloading the videos right now in the hope i will find more answers.

is it likely that apple will listen to the developers and make changes to the software that allow more access to hardware/settings/software?

is there a market for selling software for jailbroken iphones? most jb s/w i've seen is free...

robbieduncan
Jan 15, 2009, 11:12 AM
is it likely that apple will listen to the developers and make changes to the software that allow more access to hardware/settings/software?

Perhaps, although in some cases almost certainly not. They are very unlikely to every allow apps to turn on/off data/3G etc as this would override the users choice and potentially cost the user money. Same for volume settings/ringtone etc. The user is in control: not the app

CommanderData
Jan 15, 2009, 11:16 AM
thanks for the replies - especially to xsmasher, that answers quite a few of my questions.
i've signed up to the apple SDK, and am downloading the videos right now in the hope i will find more answers.

is it likely that apple will listen to the developers and make changes to the software that allow more access to hardware/settings/software?

is there a market for selling software for jailbroken iphones? most jb s/w i've seen is free...

Apple will not do anything that they feel is harmful to their platform, so no they will not listen to developers requests to allow deeper hardware access unless they see some benefit from it.

There is approximately zero market for selling software to jailbreak users, due to all the pirates and fairplay crackers.

davidclayton
Jan 15, 2009, 11:25 AM
so as for output, an app can output to the screen and speaker obviously,
but can the app output to the vibrator? (no laughing please :D)

robbieduncan
Jan 15, 2009, 11:30 AM
but can the app output to the vibrator? (no laughing please :D)

I don't want to be nasty, but this is covered very, very, very clearly in the documentation. In particular this How-To (http://developer.apple.com/iphone/library/codinghowtos/AudioAndVideo/index.html#PLAYBACK-TRIGGER_VIBRATION_IN_IPHONE) linked off the main iPhone Dev Center (http://developer.apple.com/iphone/index.action) page under the very clear title "Trigger vibration in iPhone OS?".

Please learn to use the documentation otherwise I, and I suspect most others, will simply start ignoring your questions.

davidclayton
Jan 15, 2009, 11:41 AM
that "how-to" is very helpful, thanks.
you have to understand that i am not a developer, just an iphone user with some ideas,
so forgive me for asking some basic questions - i've never even heard of an "SDK" until now :rolleyes:
i hope to gain enough info to put together some ideas for new apps,
and then source a developer to create them (maybe even one of the members from this site).

jnic
Jan 15, 2009, 11:43 AM
i hope to gain enough info to put together some ideas for new apps,
and then source a developer to create them (maybe even one of the members from this site).

http://forums.macrumors.com/showthread.php?t=604011 (Sorry; you can ask them questions but not source them.)

robbieduncan
Jan 15, 2009, 11:44 AM
that "how-to" is very helpful, thanks.
you have to understand that i am not a developer, just an iphone user with some ideas,
so forgive me for asking some basic questions - i've never even heard of an "SDK" until now :rolleyes:
i hope to gain enough info to put together some ideas for new apps,
I don't want to discourage you, but most developers have plenty of ideas. Ideas are worth close to nothing: it's the implementation that's worth something.

and then source a developer to create them (maybe even one of the members from this site).

You might want to read this sticky (http://forums.macrumors.com/showthread.php?t=604011).

davidclayton
Jan 15, 2009, 11:46 AM
noted. i will not openly advertise a job. don't want to break any rules...
i already have 2 developers in mind, so hopefully they will work out.
thanks.

firewood
Jan 15, 2009, 09:09 PM
Ideas are worth close to nothing: it's the implementation that's worth something.

So it's hard to implement an app that makes bodily noises? :)

There are several apps in the top 100 that many developers could have implemented in little time if they had thought of the idea first.

There are also several apps on that list that look like they were difficult or masterful implementations done by a lot of work from a whole team of developers.

Cuts both ways.

.

davidclayton
Jan 16, 2009, 03:06 AM
i am a member of an ideas & innovation group, and from personal experience, i can say that sometimes the best ideas come from people who have no knowledge of the subject matter of their idea - they just look at it differently than people who work in that area every day...

fiach
Jan 25, 2009, 10:33 AM
Hi,

According to the SDK, is it possible for an IPhone Application to access your contact's information on your IPhone?

For example, could an IPhone Application, once installed and run, send information about the numbers on my phone to some random internet server?

It's a bit of a privacy concern for me, like, how well does Apple check these programs before they go live?

Dan

firewood
Jan 25, 2009, 11:01 AM
For example, could an IPhone Application, once installed and run, send information about the numbers on my phone to some random internet server?

This is technically possible using the official iPhone SDK API's. Some social sharing apps communicate with a relay server to pass contact info between two user's phones. Many apps "phone home" high scores, and other such data.

However, Apple seems to have pulled at least on app from the store found sending mass contact data to the developer's server.

So I would not store sensitive passwords, or anything like that, in the Contacts database.

.

123321
Jan 28, 2009, 12:57 AM
However, Apple seems to have pulled at least on app from the store found sending mass contact data to the developer's server.


I think I don't understand you. What do you mean?

xsmasher
Jan 28, 2009, 11:25 AM
However, Apple seems to have pulled at least on app from the store found sending mass contact data to the developer's server.

I think I don't understand you. What do you mean?

The game "Aurora Feint" was temporarily removed from the app store when it was discovered that the app uploaded your entire address book to the developer's server through an unencrypted http request, without asking the user's permission. The data was intended to for use in matchmaking - finding out which of your friends were also using the game.

The game returned to the app store after the matchmaking feature was revamped. More details here:

http://aurorafeint.proboards100.com/index.cgi?action=display&board=crash&thread=346

I'm surprised that the SDK doesn't ask your permission before reading your contacts, in a similar manner to the permission check before using GPS/location services.

davidclayton
Mar 11, 2009, 11:07 AM
Digging up my old thread, as I have another question...
Can apps access the iPod on an iPhone?
For example, could an app trigger the iPod to start playing music, or stop it playing?

robbieduncan
Mar 11, 2009, 11:09 AM
Digging up my old thread, as I have another question...
Can apps access the iPod on an iPhone?
For example, could an app trigger the iPod to start playing music, or stop it playing?

No.

Well, OK, you can stop it by playing your own sound, but you can't restart it afterwards if you stop it.

davidclayton
Mar 11, 2009, 11:10 AM
OK, Thanks for the quick response :)