Arduino processing serial comunication - losing data?
Ok, let's look at your Arduino program a bit at a time (for that is where the problem lies).

if (Serial.available()) { // If data is available to read,
    content = Serial.read();
}


If there is at least one character available in the buffer then read one character into the variable content.

if (content == 60) {


If the variable content is 60 (better to use '>' so you can see what it is), then ...

 for(int i=0; i&lt;=7; i++) {
     str+=Serial.read();
 }


... read 8 characters from the serial buffer whether there are any characters in there or not.

That last bit is the crunch point.  You have an unknown number of characters in the buffer.  You had at least one, and that one you read into content.  You don't then check to see if there are the required 8 more characters available (or wait in each iteration of the loop for each character to actually arrive) before trying to read that character in.

If you take a moment to read the documentation on Serial Read you will see this:


  Returns
  
  the first byte of incoming serial data available (or -1 if no data is available) - int 


The simplest fix is just to make your loop blocking so it waits for a character to arrive before reading it:

for(int i=0; i&lt;=7; i++) {
     while (!Serial.available());  // Wait for a character to arrive
     str+=Serial.read();  // Read it
}