If you read this you are probably a software developer or one of my colleagues checking, what the marketing nerd is writing in the developers blog. But try to imagine you are the one on the other side of the wall, the guy looking for people like you: the best performing… What would you do to find these rare species?
Not your business, sure, but then please don’t blame recruiting people for the uninspiring campaigns once you are looking for a job. To be open we are facing the same challenge (a marketing guy never uses the word ‘problem’) like other companies. One of the results of our thinking ‘how to find the best performing…’ is this place to be, the realdevelopers page. >> more…
I’m using the Google Toolbox for Mac extensions to unit test my iPhone application. I highly recommend them. Integration with XCode is great. E.g. failing assertions in the tests are flagged directly in the code just like compile-time errors right next to the failing assertion. (If you are working on SDK 3.0 beta, you should get this patch to avoid the “-[UIApplication terminate]: unrecognized selector sent to instance” exception when the unit test application quits. terminate was replaced with terminateWithSuccess ins SKD 3.0). >> more…
Recently I’ve read an article with the title „Real Developers Don’t Need Designers“. Here some guys express the opinion that for a desktop application there is no need for designers – real developers could do that job on their own. I think that even if some things are established like „OK“ and „Cancel“ are mostly arranged on the bottom… the user will recognize if a coder has tried to be a designer.
Interaction design it is a lot more than just about selecting colors and designing icons. We deal intensively with the target group and their tasks. Based on that we create the concept for the interaction with the application. The screen layout and how users can continue working in a flow is how your costumers will experience your application. >> more…
Here’s a collection of funny code comments I ran into: http://stackoverflow.com/questions/184618
Our claim is to have self-explanatory code, so we hardly need comments… although some of these are really hilarious!
Currently I am spending some (if you ask my wife, she would probably say: a lot) of my free time writing a little app for the iPhone as a native frontend to one of our products, a deliverable management system (conjectPM).
In 1990 I got myself a NeXTStation and started to play around with NeXTStep and Objective-C. I really loved the AppKit as it was called back then. I became an iPhone developer as soon as Apple created the program and immediately got eh iPhone SDK. I have to say, programming the iPhone is as much a joy as working on NeXTStep was back then. The fundamentals haven’t changed much. The frameworks still are based on a very clear MVC pattern with lots of delegation to separate framework functionality from your own code. XCode is a nice environment but by far not as evolved as IntelliJ IDEA. A huge amount of often needed functionality is just there (like splitting a NSString containing a path into it’s components), but not having garbage collection and the arcane [object message:param]; syntax is quite cumbersome.
Because I want to mark the icons of favorites with a blue star and I don’t want to create every icon twice, I wanted to just superimpose the star onto the standard icon for the document type. It wasn’t as easy as
UIImage *result = [originalIcon compositeWith:starIcon];
Here is how to do it (based on the example in SDK documentation and helped by a hint from SkylarEC) >> more…
Not everybody understands English and anyway for native speakers it’s much easier. conjectPM is available in 18 languages, however it wasn’t that easy to administer them, which resulted in our users not being fully satisfied:

- In some places we had a mix of native language and English
- Some translations didn’t match the context anymore
- Wrong country-specific mail addresses and telephone numbers showed up
- Special characters were displayed incorrectly
- New functionalities weren’t translated until weeks later… >> more…
Today we upgraded to the newest version of FitNesse (20090214) and suddenly all tests trying to match multiline Strings weren’t working anymore. We used the approach given here and defined variables that had line breaks in their value:
!define expected_result {some
multiline
text}
These variables could then be simply used in the test tables:
|${expected_result}|
But with the new version, line breaks in variable definitions are treated like spaces and the expected result becomes “some multiline text” without the newlines.
A different solution to get preformatted text, to use {{{ … }}}, isn’t working in test tables and therefore is of no use in our case. >> more…
Do you know those books that make you want to grab a computer and start coding – and you only hold off, because there are more interesting things to come?
Those books, that confirm your “I always thought it should be like this” feelings and add a lot of new thoughts and knowledge to that?
Those books you somehow need to tell others about?
This is one of them.
It starts with an overview what Clean Code is and how to achieve it, neglecting not even the simplest things like naming, formatting or comments. I liked the Boys scout rule best which says: “Always check-in the code a little cleaner than you checked it out” (of course, originally it’s about campgrounds). >> more…
Recently we ran into a problem caused by Oracle’s DATE Type, because it’s granularity is only seconds and not milliseconds. Our goal was to get the newest of a group of messages using SQL.
The first attempt, simply using the date, did work only as long as we didn’t have messages coming in at the same second (else, it would return more than one message). For the second approach we used the JDO-ID, which gets automatically incremented and assigned to each persisted object (i.e., to each message). So we assumed it will assign higher IDs to newer objects, and as this ID is unique, always give us exaclty one result. But strangely, this worked only in some cases. Here’s an excerpt of a discussion of two developers, that explains why: >> more…
As the Issue Manager – a liaison position between our tech support and development – you always discover interesting constellations under which Java applets that our web application uses simply won’t run. A bunch of customers with Internet Explorer 7 or 8 could not launch any of our applets, although other applets worked perfectly fine for them.
Internet research yielded no similar experiences this far, so hopefully this one will help if you are facing the same issues… the message is: keep your system clean!
These were the tests I ran: