It seems you cannot use the iPhone 2.0 firmware without a Twitter account, so I got one. First I started by adding some developers that I think do cool stuff. But then I got to thinking, who of my friends and contact are in there? Twitter isn’t great at bulk importing, so to help me, I found TwitterWho where I could mark all my contacts in my address book, copy their names, paste it into the box and off it went and found everyone. Yay! How if I can only find a way to automatically look up Facebook friends on Twitter…. ![]()
Filmscanner
I’ve been looking into what to replace the Nikon CoolScan 4000 that broke and Nikon didn’t manage to fix, and in that process I started a discussion on photo.net where people came up with some really nice answers. Check out the discussion
Cocoa and SOAP tutorial
Having dumped WSMakeStubs, I’m looking at the WebServices Core again, and this time I found that Todd Ditchendorf has written a nice tutorial about it. I’m working my way through it and it looks promising
3 broke my network
I bought a 3 EazyInternet mobile broadband modem and subscription this week, thinking it would be sweet with 7,2Mbit on the go. And it works fine, cool thing having on my mac. But, alas, when installing it, the installer disabled my Airport WLAN and wired Ethernet interfaces, so currently I’m locked to using *ONLY* 3 network, which is *REALLY* slow compared to the wired network at work and the WLAN at home.
Ribe 1300 years
Just a quick link to Ribe’s 1300 year celebration website that Christina is working with. ![]()
WSMakeStubs, a nightmare?
I’m not quite sure of the state of things, but fact is I’ve had lots of problems with WSMakeStubs, and I’m looking for alternatives. WSMakeStubs makes stubs for webservices in Objective C (and C++, but I haven’t used that). WikiBooks have an excelent article on what to watch out for and tips when using WSMakeStubs, you can check it out here. I’m seriously considering just wrapping the SOAP XML myself and doing some XPath on the result, but come on, Apple, it shouldn’t have to be that hard. My bugreport (#5944524) hasn’t been touched, and I guess for a good reason: Apple must have zillions of them, it seems everywhere I hear about WSMakeStubs I hear how it’s not working. I hope they put this tool into shape quickly, it would be a real benefit, especially with all the iPhone programming going on. Just look at how easy this is in Visual Studio, how easy Axis2 makes it. Even PHP libraries like nusoap are easy to use compared to WSMakeStubs. Apple, I’m sooo looking forward to WSMakeStubs 2.0 ![]()
I’ve been accepted as an iPhone developer
I finally got my mail from Apple with the acceptance.
(ok, so I got it May 8th but I was in Cuba so I didn’t know) The fee is payed and the certificate should come “any moment now” ![]()
She said “yes”!
11 days ago now, me and Christina were on Cuba on vacation. It was three years since we met, I proposed, she said yes.
We’re expecting to get married in september ![]()
Objective C for Max 5
I bought my upgrade of Max 5 yesterday, and I’m of course eagerly waiting for my license code.
Trying to put Objective-C and Cocoa into all that I do, I found Rémy Muller’s blogpost about writing Objective-C externals for Max. Also, Electrotap has posted ObjectiveMax on Google Code. It’s dual-licensed GPL/Commercial which of course make BSD licensed code and closed-source-but-free a non-option. I’ll probably try out both and port much of my Java stuff over to have it working at greater speed and tested with Max 5
On the same page, Rémy writes about Bonjour for Max/MSP, and with my iPhone development efforts such as Lighting Matrix I’m planning on implementing a Bonjour interface as an option to UDP. (I’d also like to try out bluetooth just like the Wii interface aka.wiiremote, but that’s not a near-future plan as I’m not sure it’s supported through the official SDK yet)
Lighting Matrix for Max
I’m still a Max/MSP junkie (Max 5 was released today!!) and so I’m happy to present my new interface for Max: LightingMatrix
As you can see, LightingMatrix is a matrix of black buttons that light up when you press them and then fade down. When I get my certificate and get to put it on the iTunes App Store, you’ll see that you can use multiple fingers. The values are sent via UDP to Max where you can use it just like any other control. I look forward to seeing what splendid software-synth, lighting, moving robot or other fun stuff you’re going to be making with this. The power of tapping with many fingers is available, now also for Max/MSP (and Jitter)
“Unknown architecture” with iPhone development
Every now and again I get “Unknown architecture” when trying to compile. I found this post that has the solution in the bottom:
From the “Project” menu, choose Edit Active Target “
I don’t know quite why there sometimes are more paths there that I don’t want, but it helps anyways.
DashBoard
It’s been a while since I wrote about what I’m doing, but nothing much has changed: I’m working with the iPhone SDK making different applications. Today I’d like to demo the application that made me start working with the iPhone: DashBoard. I first got interested with dashboards when I tried to make something userfriendly with Performance Point and found IMA’s dashboard. Now I’ve created a simple, easily customizable dashboard for the iPhone. Because of Apple’s NDA I cannot release it, but I believe I can show it to you, running on the simulator:
In this video you see a logo on top and nine KPI buttons below. Each KPI button has a logo, a number, a unit, a last-updated date and a colour to indicate if it’s as it should be, falling below target or significantly below target (in other words, if there is a problem), using green, yellow and red. When you tap a KPI button, the report is displayed. The report is just a webpage, so I’ve linked up a webpage for every KPI button showing just a normal webpage, but more interestingly I think: PDF reports. As you can see, it works beautiful with 154 page reports, even though I guess for actually using this, you’d use a page or three with lots of graphs.
PS, yes, my conservatory exam preparations are going well
Debugging Cocoa
Debugging Autorelease is a great wiki entry at CocoaDev. EXC_BAD_ACCESS, meaning accessing an object you’ve already released (most likely) or have not yet instantiated (it happens) isn’t that fun to debug. Luckily, the NSZombie environment variable works when developing for iPhone as well, and I could find the error that had cost me most of my day. Yay!
Other good resources for debugging are Debugging Techniques and Mac OS X Debugging Magic
The iPhone shortage
The mac world is high on expectations because of what is apparently a shortage of iPhones. New version coming up soon? Yes, probably. People hope for a 3G version. I hope for one too. I expect it to be announced in June and available end August. People think of a 32gb version. Sounds logical. But didn’t people notice Intel’s announcement of their Atom processor? Here’s ZDNet’s take on it. I would expect this to mean that an iPhone based on this architecture would be launched, perhaps silently even. Just a bit more horse power, very fitting for iPhone OS 2.0. Perhaps with a 32gb option. But still EDGE, no 3G. Then a 32gb version with 3G could be announced in June and become widely available in august.
NASA cuts Spirit
It’s all over the news: due to budget problems, NASA puts Spirit into hibernation and cuts back on the activity for Opportunity. Where do I sign the protest list?!
No atos(1) in the iPhone dev kit?
One thing I love about Java development is the ease of finding bugs through stack traces. Unfortunately, it doesn’t seem that Cocoa likes being so verbose about it, it prefers just giving memory addresses to the function. CocoaDev has a nice article about how to add this that’s based on Apple’s documentation, but it requires /usr/bin/atos that I cannot find in the iPhone SDK. That doesn’t mean it’s not installed, but at this time I have no way of knowing that it is. I have no idea how I should let people beta-test my products and sending automatically back intelligent bug reports without this tool. Ok, I have no idea on how Apple plans to allow for betatesting applications if the AppStore is the only application distribution method, and I have no idea how people do this otherwise as atos(1) isn’t included with the default OS X system either.
But I would really, really like to include stack traces with bugreports from beta testers.
Exception handling in Cocoa
Being fairly new to Cocoa I enjoyed reading O’Reilly’s MacDevCenter’s article on exception handling with Cocoa.
Getting info on private Cocoa frameworks
class-dump is a great tool for getting information about how private frameworks work that you may want to use. For example, iPhotoAccess.framework gave among other classes the following:
@interface Base64 : NSObject
{
}
+ (id)stringForBase64:(id)fp8;
+ (id)base64ForString:(id)fp8;
@end
iPhone dev continues
My work with the iPhone SDK continues, working on three clients to our backend services at the moment. I’m very much looking forward to blogging about this as it’s cleared at work. But as you probably have noticed from my posts, working locally and synchronizing with the back-end is what I believe most iPhone applications are about. Do quick and stuff you need to remember on the iPhone, work out the details from your computer, keep everything in sync. That’s why I’m excited about Google’s data integration. That’s why I’m excited about integrating SQLite. That’s why I spend a lot of time working with SOAP integration. And of course, it’s all good fun. I’m tempted to say that working with a back-end is a lot easier than doing everything local. At least the satisfaction of seeing the work you do on the little screen influencing the real world is a lot better than it just influencing that screen.
One thing I’m miffed about, though, is the NDA. They’ve got a 100,000 downloads, and if 1/20t of this is developers, then that’s still 5,000 developers. Where are they all? I can’t find much going on on discussion boards, forums, mailing-lists or whatever. And Apple is only slowly letting them in to their community. I hope they’ll let us in soon, I want to discuss problems I’m having without having people with briefcases coming after me, I want to know what other people are working on, I want the development to be more social. Right now, it’s mostly a one-man game, and that’ll get old very soon
Google Data for Cocoa/iPhone
According to iPhone Atlas, Google has pushed out a new release of its GData Objective-C Client Library that can be used with the iPhone SDK. Yay for Google!
Check it out! For my last job I used Google Spreadsheets and Google Documents quite a bit, and it’s great being able to integrate it. Making a little word processor with synchronization to GDocs should be fairly trivial now. ![]()