Kategorie-Archiv: iPhone Developing

Do Links from an App to the Web make sense?

Very often i hear this question: “Is it possible to put a link to our website/blog/… on the startscreen or any other prominent view of my app?”“Yes it is, but does it makes sense?” – I say, NO! And that’s why:

Q: What is an app?
A: An app is a small application on a mobile device with a desired function, e.g. reading a magazine.

Q: Why do people install your app?
A: Because they want to use this desired function the app provides.

Q: Do your readers know, that you have a website, too?
A: Of course, everybody has a website these times.

Q: What do people do to visit your Website?
A: Open Safari, type in my URL or google, if they don’t know it, yet.

Q: Will someone install your app, because he wants to visit your website?
A: No, its an app with a desired, special function besides my website.

Q: So, does it then makes sense to put a link to your website on the startscreen of your app?
A: No, nobody will use it.

Q: Where do such links makes sense?
A: Perhaps inside the apps imprint or if you want to add “read more on this topic” function to an article, when thinking about digital publications.

Q: Exactly!
A: Well, thanks! You opened my eyes!

Codeschnipsel: Kommunikation vom iPhone zu Google App Engine via HTTP GET

Hier mal ein Codeschnipsel für das Senden von Informationen über einen HTTP GET Request vom iPhone zur Google App Engine (Java):

// iPhone send GET
NSString *urlString = [NSString stringWithFormat: @"http://appname.appspot.com/saveText?text1=%@&text2=%@", self.text1Label.text, self.text2LabelLabel.text];
NSURL *urlToSend = [[NSURL alloc] initWithString:[urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
NSURLRequest *urlRequest = [NSURLRequest requestWithURL:urlToSend cachePolicy:NSURLRequestReturnCacheDataElseLoad timeoutInterval:30];
NSData *urlData;
NSURLResponse *response;
NSError *error;
urlData = [NSURLConnection sendSynchronousRequest:urlRequest returningResponse:&response error:&error];

in urlData landet die Antwort vom Server, also z.B. ein return vom doGet (s.w.u.)


// Google App Engine get GET
import javax.servlet.http.*;
[...]
public class getHTTP_GET extends HttpServlet {

public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws IOException {

String text1 = req.getParameter("text1");
String text2 =req.getParameter("text2");

// do something

return /sendBack
}

In der web.xml muss nun noch von /saveText auf das getHTTP_GET Servlet verwiesen werden.

Umgebungslichtsensor im iPhone – Zugriff über SDK?

Der Umgebungslichtsensor im iPhone regelt die Beleuchtungsstärke des Displays – anscheinend stufenlos. Allerdings gibt es wohl Probleme seit iPhoneOS 3.0. Einige Nutzer haben das Gefühl, dass der Sensor nicht mehr korrekt mit dem Display interagiert.
Der Selbstversuch zeigt: Die Displaybeleuchtung wird nur nach oben geregelt, also heller. Erweckt man das iPhone im Dunkeln aus dem Standby ist die Beleuchtung schwach. Wird die Umgebung dann heller, regelt das iPhone nach einigen Sekunden nach, das Display wird heller. Wird die Umgebung dann wieder dunkler verharrt die Displaybeleuchtung. Die Beleuchtungsstärke wird nicht nach unten/dunkel geregelt.

Die Regelung funktioniert stufenlos, d.h. der Umgebungslichtsensor liefert eine gewisse Auflösung.

Leider ist ein Zugriff auf die Werte des Sensors über das SDK nicht möglich. Dazu wäre voller Hardwarezugriff, also ein Jailbreak, notwendig.

Vermutlich im iPhone verbaut: ISL29011 Digital Ambient Light Sensor and Proximity Sensor with Interrupt Function