a glob of nerdishness

September 12, 2009

1 working home button in my pocket

written by natevw @ 7:07 pm

My iPod touch’s home button was growing gradually unreliable, and finally stopped letting me switch between apps right before this week’s iPod press event. I was hoping Apple would finally announce a new iPod touch that could serve as an iPhone without the phone, with a camera and mic and compass and GPS. Instead they announced the opposite.

This was the second time the iPod touch’s home button had failed me. The first one failed under warranty, but between two bad hardware experiences (actually three, long story…), a lack of compelling new features, the lack of independently published applications and my own lack of income, buying an expensive replacement seemed like a bad idea.

Instead I spent $3.98 to have OWC ship me some nylon iPod case opener tools. Once inside I found a lot of lint, dozens of tiny screws and chips and connectors, and underneath it all:

Disassembled iPod touch home button mechanism

My iPod’s home button!

I used some rubbing alcohol on a q-tip to clean it and its target off a bit, then used a very short slice of electrical tape to hold the little clicker sticker back in place.

First generation iPod touch home button homebrew fix

Take a look at this iPod Touch repair guide for a better walkthrough of the internals. Because of the way the lower assembly is glued down, the screen does need to be taken off to safely pry the button board from its sticky bondage. There was dust under the glass anyway, so it was nice to get a PEC*PAD in there for some cleanup.

In addition to the case opener (good for prying PCBs from their glue as well) and a very tiny Phillips screwdriver, I found a brownie cutter useful. Its large surface area helped me pry up the battery pack without the acute pressure of a flathead’s blade; a metal spatula or wide paint scraper could work as well.

After reassembling most of the device, I was relieved and more than a bit surprised to see it spring back to life. Despite the second-rate button, some impressive engineering went into this device. It is incredibly small, yet was able to survive an hour of my (very careful!) amateur hamfisting. I can now return to my Home screen at will; all other systems are still go, too!

May 1, 2009

Standard object selection with TLSelectionManager

written by natevw @ 1:43 pm

Recently the topic of selections in Cocoa apps came up again. While most of the discussion has centered around selections in text, the majority of sane developers use AppKit’s built-in text views and leave it at that. However, when we were developing Mercatalog’s interface over at Calf Trail, we needed to handle mouse selection and dragging of photo icons in a consistent way. Not only did our map and timeline layers need to behave similarly, they had to work like the rest of the operating system.

Cocoa leaves selection handling completely up to each individual view. As our view code developed, we realized that this task was less trivial than it first seemed. Playing around with various views in other apps to determine the “correct” behaviour was even less encouraging — there are many selection idiosyncrasies among Apple’s applications and views.

So we tried to solve the problem once and for all, in a separate class intended to manage selection and drag source behaviour for any view/cell/layer that needs it. It’s mostly geared towards mouse selection at this point, but Calf Trail is making it available as open source in the hopes it will spark discussion and progress towards good selection behaviour. You can find details and source for TLSelectionManager on Google Code.

August 1, 2008

Control

written by natevw @ 3:14 pm

I paid $359 for my iPod touch on March 6, and when it arrived I paid another $20 for the software upgrade that had come out by then. Last month, I paid $10 more to upgrade to the latest version. But after all the money I’ve spent on this iPod, I still don’t own it.

It’s an issue of control. I’m not referring to the fact that I have to send it back because its “Home” button stopped working. That’s a little bit of a bummer, but when the new one comes back all working and shiny and new again, the big bummer will still remain: my iPod is controlled by Apple, through iTunes its government handler. That last $10 upgrade enables iTunes to install third-party applications on my iPod. But even there, I can only decide what not to do with my iPod. It’s still Apple deciding what I can do.

Notice that this iPod I bought isn’t bundled with contract like an iPhone. It’s not locked to a cell carrier, there’s no “West Coast [telephone] network” it could take down, or anything like that. Anything nasty I could do with this iPod I could do with my Macbook at 5 times the speed backed by 20 times the memory. But users can’t do anything shady, or anything cool, without doing it through an application Apple has decided to carry in their store.

My first computers were my dad’s first computers. I learned to program mostly on an Apple /// that worked just fine even though Apple had probably long stopped supporting it. I have fond memories of playing StarBlaze on his TRS-80 Model 100, loaded from a squawky old cassette tape after a few tries. When I was given an eMate 300 by some friends, I was able to try out all kinds of old utilities from a Newton abandonware archive. Will my offspring be able to do the same sort of things with this iPod? Or will the encrypted applications I collect today no longer “authorize” by the time they discover the shiny obelisk in a box somewhere? Will they learn to use an old version of the developer tools and wonder why, if it works on the simulator, it won’t work on the device? Vive the jailbreakers! — immature as they act, I sure hope they’ve left good notes ten years from now. Otherwise, Apple really should just rent these things instead of selling them.

I hate to assume that a worst case DRM scenario will become the status quo, but it has become abundantly clear that Thoughts on Music was just a PR stunt. Apple loves them some DRM, and they’ve turned their top resources to a “revolutionary” new iPhone/iPod platform that has Digital Restriction Management at its center.

This bothers me as a user, and it bothers me as a software developer. It will cost another $99 to actually develop or test anything new on the iPod I bought. I’d gladly pay that, but I can’t. Our company is still waiting to get into Apple’s secret sharecropper society, though I put our info into the queue on day one. Thankfully we didn’t project any revenue from selling iPhone/iPod software — and now we never will, since one lesson we’ve learned from the whole “You don’t talk about iPhone club” mess is to not take for granted income so far out of our control.

If this dystopian ideal of Apple’s comes to their desktop, as some fear, I hope our little company has saved up enough for a few bays in a data center somewhere. Web apps have many huge drawbacks, but so does being a puppet on some big corporate headquarters’ string.

January 12, 2008

Visual Basic makes you Dim

written by natevw @ 4:54 pm

It’s been a kinda rough week realizing that Cocoa’s power does not lie in it’s learnability. But I’d learn it any day over Visual Basic.

When learning Objective-C and its joined at the waist framework, I can do a couple quick Google searches and find Apple’s official reference, an informative third party introduction, great guides like this and this, and many other quality references and sample code.

But with Visual Basic, any “answer” I find is glossed over in some script kiddie forum, and seemingly missing (or at least unfindable) in any of Microsoft’s manuals. What is this “Set” keyword? I gather it’s deprecated, but knowing would sure make figuring out old code easier…I tried and tried and tried to find a one-stop reference that would teach me the overall language so I could know what I had to work with. [Emphasis on "had to".] Mostly I just came up with basic “how to make an Excel macro” type stuff. I eventually found a wikibook, but even that left me wanting.

Eventually I did find What Set means in Visual Basic, tucked in an article. But even if all the various Cocoa concepts makes me feel like I’m just playing whack-a-mole, at least I know a) what concepts there are, and b) where to get reliable information on each when I need it.

June 18, 2007

A silent game of telephone

written by hjon @ 8:01 pm

I can see it now: “Hey everybody, let’s play telephone! Except, let’s link arms and see how well the message transmits. We can form the largest human network!”

Bones could allow data swaps via handshake

[via Slashdot]

By the way

written by hjon @ 7:43 pm

I’m back. School is out, Senior Design is over, summer has started, and so has work. (Did you like that? The alliteration with the “s”?) In fact, I also went in on a website with my brother (and his wife), so I may be switching over to that this summer, as well. When I do, I’ll provide a link. Otherwise, I’ll try to catch up here, posting some more about Senior Design, etc.

« Previous Page