09/09/2010

The Credit Crisis explained

Great presentation by Jonathan Jarvis:


The Crisis of Credit Visualized from Jonathan Jarvis on Vimeo.

Ihren XING-Kontakten zeigen

BlackBerry tries to shoot Apple

It’s funny to see how RIM, the BlackBerry manufacturer, tries to shoot Apple in the new commercials they’ve started to publish:

It’s good to see how Apple inspires the entire industry to think different.

Ihren XING-Kontakten zeigen

Looking for a good RegEx tool for Mac OS

Are you looking for a tool that helps you build regular expressions and provides a realtime indication of matches and captures?

I found Roger Jolly’s RegExhibit (direct download link) to fit my needs best. I like it more than Reggy, because of the way it also indicates captures.

If you’re dealing a lot with regular expressions on a Mac and don’t want to go to the command line, RegExhibit is the swiss army knife to go for.

RegExhibit for Mac OS X

RegExhibit for Mac OS X


Ihren XING-Kontakten zeigen

Second part of German iPhone Dev series

Over at iPhone-notes.de – which moved to new infrastructure and a new domain (http://www.iphonenotes.net) due to the increasing number of readers – I’ve published the second installment of the German Introduction to iPhone Development. Go check it out!

Ihren XING-Kontakten zeigen

Solving: Internal error occurred while creating dependency graph: ASSERTION FAILURE

As a regular 24100.NET reader you’ve come to know the Dev Quick Tips category. Here is my latest note-to-self contribution:

If I stumble into “Internal error occurred while creating dependency graph: ASSERTION FAILURE” code sign errors when I build an iPhone project for the device, here’s what to do:

  • Close Xcode. Reopen my project. Go to Project Info > Built tab.
  • Change Configuration: All Configurations.
  • Change Show: All Settings.
  • Change value for Base SDK to Device – iPhone OS 2.2
  • Find Code Signing Resource Rules Path and add $(SDKROOT)/ResourceRules.plist as the value

That’s it.

Ihren XING-Kontakten zeigen

iPhone-notes.de: Dev Tutorial

Over at iPhone-notes.de I’ve started a German series about iPhone development. If you’re looking for iPhone engineering related content in German, you might find it useful. Feel free to subscribe to their feed, too.

Ihren XING-Kontakten zeigen

Interview with Marc Andreessen

Check out Marc Andreessen in a fascinating conversation with Charlie Rose:

It’s a great talk about the “realtime century”. Very motivating and inspiring. TechCrunchIT has a good related post for the ones who are not yet seeing the disruptive changes ahead.

Ihren XING-Kontakten zeigen

Returning from Call Center World

I’ve just returned from Berlin, where I’ve been attending Call Center World 2009.

This was my tenth-or-so show and very likely my last one. A privilege of not being directly involved business-wise anymore this year allowed me to take a closer look of what the others do and have to offer. During all the past years I’d represented my own company and almost no time to look around.

I’ve got to admit: I’m pretty disappointed.

Technology is changing rapidly. Customers are changing at fast pace. A variety of strong, capable and new channels are evolving. Devices become more and more capable. But Call Center World shows almost no innovation. Avaya keeps on selling ACDs. Others promote USSD based customer service, which is like a reincarnation of Bildschirmtext in the century of ubiquitous connectivity and cell phones that run Google Earth. (If you’d like to get an idea of how USSD based services look on an iPhone, click here. But don’t blame me, please!) (Yes, I do acknowledge that there is a large market for USSD in countries which are considered to be in in the transitional phase between developing and developed status. But I’m talking real innovation here.) Others promote a technology which primarily addresses remote device configuration will revolutionize how customers perceive customer care. I doubt it. That has already been around for years.

Everybody else seems to deliver more of the same. A user interface that’s a bit more glossy is not enough. When are we going to see real Customer Care 2.0 innovation?

Besides the overall disappointment there’s one thing for good: I got in touch with Jonathan Taylor, the CEO of Voxeo Inc. Voxeo recently acquired a company founded in Germany that I’ve been closely watching: VoiceObjects. The way Jonathan moves Voxeo forward is pretty convincing and I’m looking forward to following up on some stuff which they are planning.

My personal résumé:

  • This has been my last Call Center World.
  • The big ones will not do it.
  • Voxeo is now on my personal watch list.
  • There might be an interesting opportunity for a company that has people who have a solid understanding of the customer care related technologies, the customer care market, are great in selling products and a vision, can deliver and have proven to innovate markets. There might be an opportunity for, well, starting something new!
  • I’ve got to think. :-)

Carpe diem.

Ihren XING-Kontakten zeigen

Is UIButton’s backgroundImage broken?

One of the iPhone apps I’m currently involved into requires custom buttons. Not only has our customer asked for a special look & feel, she also wants the buttons to animate smoothly in and out. We’ve decided to implement a custom button class deriving from UIButton as opposed to trying to modify a standard UIButton.

The iPhone devs among my readers know that the SDKs UIButton class is notoriously simple. In fact the only real way to style a button the way you want is to make use of background images for the various UIControlStates (normal, highlighted, etc.).

Here is were we ran into a subtle issue:

Even though UIButton has a property named backgroundImage once you assign a UIImage it does not stay in the background!

If you’re using UIButton‘s title property there’s no problem. Things start to get messy if for whatever reason you don’t want to place text on the button via the standard title property. Why would you not use the title property? Well, in our case we have to use custom fonts. Along with the custom button class we’ve created a custom label class that uses a TTF font embedded in the application bundle. We planned to add the custom label as a subview to UIButton. But as said that does not work because the background image stays in front of the label!

In fact it stays in front of every subview and obscures them all. Even if you try to bring your subviews to front via bringSubviewToFront, they never make it in front of the button’s background image.

Here’s a basic code example (typed from the top of my head, don’t expect it to compile):

  UIButton *myButton = [[UIButton alloc] initWithFrame:CGRectMake(10,10,200,40)];
  UILabel *myLabel = [[UILabel alloc] initWithFrame:CGRectMake(5,5,100,20)];
  myLabel.text = @"Custom Text";
  myButton.backgroundImage = [UIImage imageNamed:@"anyButtonBackground.png"];
  [myButton addSubview:myLabel];
  [myButton bringSubviewToFront:myLabel];
  [self.view addSubview:myButton];

Our expectation was that the label will sit neatly on top of the background image. It does not.

We’ve worked around this by adding the label to the button’s superview from within the custom button class. It automatically calculates the required x/y offset necessary to align superview coordinates with the button’s coordinates.

At the end of the day, we ask ourselves: Why does Apple call it a backgroundImage if it is so eager to be the topmost visible element?

And: What do you think? Is it a by design thing or should we file a bug report? I’d love to get your comments!

Ihren XING-Kontakten zeigen

App Store Valentine Special

Reminder: On Valentine’s Day German developers offer their best iPhone apps for an average discount of up to 80%. Details will be available February, 14th. Visit AppsForSale.de and grab your copy while the special lasts!

Obviously straight2market’s Visual Dial made it on to the Hall of Fame, too. ;-)

Ihren XING-Kontakten zeigen