Hi there!

English // German

I have the very first iPhone, bought on 2007-11-09 in an T-Com store. Now, the display ain’t working correctly anymore. // Ich habe das allererste iPhone, gekauft am 2007-11-09 in einem T-Com Laden. Jetzt funktioniert das Display nicht mehr korrekt.

The device did not fell down, I did not hit it anywhere. I just put it in my pocket at work and as I got home, the lower centimeter of the display ain’t working anymore. // Das Gerät ist nicht herunter gefallen, ich habe es auch nirgendwo angehauen. Ich habe es auf der Arbeit in meine Tasche gesteckt und als ich heim kam, funktionierte der untere Zentimeter des Display nicht mehr richtig.

This unfortunately includes the buttons “Phone”, “Mail”, “Safari”, “iPod” and – of course – the lower buttons in each application. The 90% of the display do work absolutely correct. // Dazu gehören leider auch die Buttons “Phone”, “Mail”, “Safari”, “iPod” und – natürlich – auch die unteren Buttons aller Anwendungen. Die oberen 90% des Display funktionieren einwandfrei.

I know, my iPhone ran out of warranty, but it’s very obviously a well known hardware failure, which occurs quite often. // Ich weiss, dass mein iPhone bereits aus der Garantie gelaufen ist, allerdings ist das sehr offensichtlich ein Hardware-Fehler, welcher durchaus recht oft auftritt.

I found several websites and forums about that: // Ich habe darüber einige Webseiten und Foren gefunden:

The last one is probably the most important and interesting one. Quotation: // Der letzte Link ist wahrscheinlich der wichtigsten und interessanteste Link. Zitat:

“First the very bottom of the screen went out so I could not hit the space-bar on the keyboard, or change to the number/character screen. Then it got worse a few days later, now I cannot hit any of the main function buttons.”

This is proof enough for me. It must be a hardware failure and must have its origin in the fabrication. // Das ist Beweis genug für mich. Es muss sich um einen Hardware-Fehler handeln und dieser muss seinen Ursprung bereits in der Herstellung haben.

Now, I will print out those websites and I will confront T-Com in a store with those fact the next few days. I simply don’t want to pay for a new display, ’cause it’s really expensive. // Nun werde ich diese Webseiten ausdrucken und die Telekom in einem Laden mit den Fakten konfrontieren. Ich möchte einfach nicht für ein neues Display bezahlen, da das wirklich ziemlich teuer ist.

Does anyone have some more tips? // Hat noch jemand gute Tipps?

T.

Hi there!

Yesterday, I was invited to a laymen theatre play in Nuremberg, which was completely written and performed by some good friend of mine. Yet unknown artists, a story never seen before, but definitely worth viewing:

Eine(r) stirbt immer http://www.ensemble2.de/

The story goes as easy like this:

Three chapters, three women, three men, three couples, three relationships, three stories, each resulting in one death. It is about cliche between men and women, about prejudices, sex and misunderstandings.

If you dunno what to do on a Saturday evening the next few weeks, I can only recommend, giving this a try.

Bye, T.

Hi there!

A few days ago, I started to write my first own facebook application. It all went quite okay until one certain point: I wanted my application to update the profile box of the user, which uses the app at that single moment. And that wasn’t as easy, as I thought.

The problem was: after the profile box has been updated, all profile boxes of all users had the same content – the content of the user who last updated his profile box.

I will come to the solution later. First of all, a quick explanation of what I needed to do:

  1. I read the documentation of facebook’s application guide to understand the API and the FBML language
  2. I set up my own application using the step-by-step guide
  3. I set up my new application on my own host including facebook’s PHP libraries

Here’s the code step-by-step (just put all sniplets together):

Code sniplet #1

require_once 'facebook-platform/php/facebook.php';

$appid = 'xxxxxxxxxxxx';
$appapikey = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
$appsecret = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';

$facebook = new Facebook($appapikey, $appsecret);
$user_id = $facebook->require_login();

Above: first of all, we need to include facebook’s PHP libraries, define several variables for our application, initialize our facebook object and retrieve the UID of the user who currently uses the application.

Code sniplet #2

$fb_box = "<H4 class='box_header clearfix'><span>";
$fb_box .= "Hello World!";
$fb_box .= "</span></H4>";
$fb_box .= "<div>I am ";
$fb_box .= "<fb:name uid=\"$user_id\" useyou=\"false\" />.";
$fb_box .= "Nice you're on my page.</div>";
$fb_box .= "Some more content in HTML or FBML...";

Above: we then define the content which we want to be displayed within the profile box. In this examble, it will be the name of the user, greeting the visitor.

Code sniplet #3

$fb_box_handle = 'pb_' . $appid . '_' . $user_id;

Above: this is important! At this point, I got stuck for a while. The reason was, facebook caches profile boxes content until the application’s canvas page is requested for the next time. The handle is very important for that caching mechanism, since it has to be a unique identifier for each application and each user. For that reason, I simply use the prefix ‘pb_‘ followed by the applications ID (defined above) and the UID of the current user (also defined above)!

Code sniplet #4

$facebook->api_client->call_method('facebook.profile.setFBML',
array(
'api_key' => $appapikey,
'v' => '1.0',
'uid' => $user_id,
'profile' => '<fb:narrow><fb:ref handle="' . $fb_box_handle . '" /></fb:narrow>',
'profile_main' => '<fb:ref handle="' . $fb_box_handle . '" />',
)
);

Above: the rest is quite simple. We make an API call to facebook and send our application key, the protocol version, the UID of the facebook user whose profile box ought to be updated and, of course, the content for that box. The content will be sent as the reference handle we defined earlier.

If you want to update multiple profile boxes with one single API call, I guess, this could work if you send an array containing the UIDs. If not, you can still get all those UIDs, walk through the array and perform multiple API calls. I read somewhere, some users had problem updating large numbers of profiles… Just give it a try.

Comments (if it worked for you or even if it didn’t) are appreciated 🙂

UPDATE because of comment #2:

The example above is about updating content in a users profile, not about setting up a profile box on a profile. You should read the manual carefully.

A user has to approve a certain application to create a profile box. Therefore, you need to render a button, which sets up the box. You can easily do this by:

$appapikey = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
$appsecret = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
$facebook = new Facebook($appapikey, $appsecret);
$user_id = $facebook->require_login();
$facebook->api_client->profile_setFBML($appapikey, $user_id, 'profile', NULL, 'mobile_profile', 'profile_main');
echo "<fb:add-section-button section='profile' />";

The last line renders the button, you want to have on your canvas page.

Good luck! Thomas

Hi there!

As some users reported, they would not like the dark style of the unfake.it website, you may now choose between a dark and a bright style.

Besides the possibility to choose between a dark and a bright style, you may also set the site’s language. unfake.it is currently available in English and German.

uf-dark

uf-bright

Your preferences will be set as a cookies, so you do have to allow cookies from unfake.it. As long as you did not set any preference, the dark style and English language will be default.