iPod Touch Repair

This post will act both as a testimony to the power of DIY Repairs and the quality of Apple products.  The iPod I repaired got run over by a car.  Everything seemed to work, but the glass was completely crushed, hence the repair.  Being a young student, I have little financial resources, and spending $150 to ship the iPod to Apple was out of the question.  Instead I decided to try my luck and repair the iPod myself.

The parts I purchased for this repair are:

iPod Touch 2G Glass and Digitizer

iPod Touch 2G Midframe

There are numerous video tutorials, and extensive picture tutorials on the internet explaining how to fix an iPod’s glass.  Instead of doing a full tutorial, I am simply going to say a few things that I wish I had known, and present a gallery containing a few photos with descriptions of the work I did.

  1. The parts on Amazon seemed more reliable than another source, but they are still risky.  The glass came exactly as advertised, but the midframe came without the advertised adhesive.  The button circuitry for the midframe was not advertised so I did not expect it, but you should know that it was not included.  Only a filler piece of metal was shipped.
  2. This is extremely hard.  That pretty much sums it up.  The Easy Open Tools were worthless.  I was able to get the bottom of the case open, but I pretty much had to manhandle the rest.  It was a difficult process, and I risked completely destroying the LCD.  In the end, I gave up on tools and essentially pried and ripped the midframe off the case.
  3. When opening the case, recognize that the rubber is attached to the midframe.  If you want to remove the glass, the midframe has to go.  Insert your screwdriver or other tool between the rubber and the silver edge.  Not between the rubber and the glass.
  4. If you remove the glass, you will also need a midframe.  Unless you order a new one, you will need to melt the glue holding the glass to the old one with a hairdryer.  I tried this,but it didn’t really work.  Just buy the midframe.
  5. Finally, be careful not to bend the circuit board.  There is a cutout in the bottom right corner of the midframe.  This cutout is where a circuit board goes.  The circuit board is not attached to the midframe, so don’t try to remove it.  I did, and ended up having to tape down the back corner with some electrical tape so it would still work.  Be careful.
  6. Putting it all back together – This is something that one video covered briefly, and none of the photo tutorials covered.  It was a lot easier than I expected.  Once you hook the digitizer back in, press the top of the glass/midframe in first.  Then work your way down each side, pressing the glass back in.  Unless you bent the clips way out of the way, they should still clip into the midframe.  You simply have to push it all back together and everything should snap in.  This required task required a fair amount of work as well.

That’s all I have for now.  Following is a gallery of the process with more descriptions.  I hope this was helpful or informative to someone.  If I think of other suggestions or notes, I will add them at a later date.

Nathan

Influences and Inspirations

I have actively started working on Cloud Hopping, my newest game. I have done a bunch of concept art and will start turning it all into digital art and coding everything shortly. I plan on uploading concept art in a few days. I would have it now, but I don’t want to hook up the scanner right now. Instead of explaining the purpose and meaning behind the game, as that would give it all away, I will simply list the things that inspired this idea/project. The entire game is based on novels that I have read. The main influences of work are as follows:

Brave New World – Aldous Huxley
Deeper – Jeff Long
The Hunger Games – Suzanne Collins
The Road – Cormac McCarthy

Numerous other works and concepts have been pulled into this game concept, but the above novels provide the main scenes/levels in the game.

Nathan

Lessons from a Leisurely Day

With Tennis and AP Tests waiting just around the corner, it has become increasingly hard to motivate myself to program. It is just another thing to pack into an already busy schedule. After much encouragement from a friend, I abandoned all plans to study and spent the morning coding. Code-wise, I didn’t get very far, but I learned a lot about how the Flex system works, and built a game framework that I can re-use.

Flex 3 is one a great product, but at the same time it is a very odd product. Adobe released Flex as an Actionscript compiler, and is sell/giving away the Flex IDE. This allows virtually anyone to develop Flash applications, and removes the previous financial handicap that exists with CS3. But with the release of Flex 3, Adobe removed a lot of key features for game production as an attempt to curb the ability to create viruses, or something like that. Anyway, it makes the language safer, but pretty much makes game production impossible. I contacted John Cooney, and he sent me a piece of code that gets around that problem completely by recreating the Key Class that was removed from Flex 3. That was the challenge that I tackled a few weeks ago. A brief showcase of the Key.as class in use can be found in the previous blog post.

My development was stalled again when I was unable to create classes within my game. A class can be something like an enemy. If can have image information, a location, health points, and then an attack level. I was only able to create the image aspect of the enemy. I could create variables to hold all the other data, but I could not tie it to the enemy, and I could not get it to be reusable. To create an enemy, I could not write public var enemy2:enemy = new enemy(); I would have to create the variables all over again. I spent hours trying to get the keyboard input to work and was not about to tackle this problem before. The problem with creating a class was actually incredibly simple. Flex does not allow you to put multiple classes in the same Actionscript file. I simply had to make a new Actionscript file with the new class. This was a pain to learn, but it is good that Flex forces Object-Oriented Programming.

The other key thing that I needed to figure out was image loading. I wanted to be able to take advantage of the sprite class, but I also wanted to be able to use images. Images could be loaded and used, but I could not use them within the framework that I had developed. This minor lack of knowledge was solved by the SpriteWithBitmap.as file. This piece of code does exactly what it says. It allows me to load an image and tie it to a sprite.

Reading about the problems and simple solutions that I found is probably fairly boring. If I were you, I would have probably stopped reading or skipped ahead. Hopefully this paragraph will be a little bit more interesting. Deciding on what type of game is always the hardest part for me. This morning I decided to take that problem out of my hands entirely. I went to Omegle and asked simple questions about what game I should make.  Such as the main character’s name, the enemy type, and the goals.  This concept is the final product:

You play as a velociraptor named Katie.  You have to try to collect chicken breasts to fight the dolphins falling from the sky, attached to hot air balloons.  (Dolphins are actually gay sharks) The chicken is used to protect yourself from the dolphins.  For some reasons the dolphins are allergic to chicken and die if they come in contact with anything that has eaten chicken, or the chicken itself.  Of course when they hit you, you lose some of the chicken that you have collected.  If Katie is hit by a dolphin and looses all of her chicken, the player looses.  Some dolphins will require more chicken to defeat.

I have no idea if I will ever finish the game, but I have started writing it, and have built Katie’s class.  Either way, it is a more colorful game than I normally work on.

This morning I taught myself the final things that I was misunderstanding, or did not know about Flex. I no longer have any excuse not to write. From here out, it is simply another language with slightly different syntax.  Unfortunately, my time writing, and coding today has come to an end.  Tennis and AP studying calls.

As a note, I did not write either of the Actionscript files that I linked to above.  The Key class came from Kirupa.com and the SpriteWithBitmap class came from shardulbartwal.wordpress.com The files are hosted on this blog in-case either of those websites goes off-line, or changes their link structure.