Categories
Business Indie

The Joys of Freelance

Brian Hoff: “This might sound familiar to some most of you: I received an email from a potential client inquiring a new website. After a few emails back and forth, the talk of money came into the equation, only to have the client question why my rates where so high as “they too were freelancers or small businesses.” They also asked if I’d consider slashing my rate by two-thirds. How about this one: I received emails looking for a $1,000 website because large firms I’ve contacted charge in the six-figures.”

I’ve heard from indie designers and developers that tell this same story. Because they’re small people believe they’ll cut a deal. It’s hard to make a living cutting deals to every Tom, Dick, and Harry on the block. You have to learn how to say one little word, no. I’m sure it’s tough to do, but you have to do it for the sake of your business, otherwise you’ll get buried in work you don’t want, and when something good comes along you’ll either have to pass on it or you’ll kill yourself trying to get it done.

Pick your battles. Easy to say, hard to practice.

Categories
Indie

Gettin’ Geeky With It

Panic Blog: “Sounded like fun to us. Just one problem, though: we knew we had to load Stewart’s “cassette tape” source into the Apple //e’s audio input. But we didn’t exactly have a cassette deck lying around.

What did we have? An iPad.”

The Panic crew is so darned talented. Great apps, great design(just look at their beautifully designed weblog), and they’re real geeks.

What more could you ask for in a company?

Categories
Development Indie iPad iPhone

C++ to Objective-C

About year ago I started looking at writing my first iPhone application. My brother and I had decided we’d finally go ahead and create an application we’d had many fits and starts on but had never finished. The code started its’ life on Palm and Windows. Back when we started I’d written the math code in portable C++ so we could use it on many different platforms.

RxCalc128x128.pngAround Thanksgiving I’d put together a prototype of our iPhone application using that C++ code. I started by creating an iPhone Cocoa View Based Application, and added my existing C++ classes to it. That was pretty simple, now to compile the code. This is where I ran into my first problem.

Say What?

The Objective-C compiler didn’t like having a mix of C++ and Objective-C. Oh, I thought that was allowed? It is. You simply need to name your source files with a .M or .mm extension instead of the standard .m for Objective-C. That was easy.

Below is an example C++ class used in an Objective-C class. The PKMath namespace is where the C++ types and classes live. PKMath::VancoBolusDose() just worked. I verified that by viewing the instance vancoBolusDose in the debugger, so I knew we were good to go with a mix of C++ and Objective-C.

- (IBAction)calculateNewHandler:(id)sender
{
	double height           = heightTextField.text.doubleValue;
	double weight           = weightTextField.text.doubleValue;
	double age              = ageTextField.text.doubleValue;
	double scr              = scrTextField.text.doubleValue;
	double peak             = peakTextField.text.doubleValue;
	double trough           = troughTextField.text.doubleValue;
	PKMath::Gender gender   =  (0 == genderSegment.selectedSegmentIndex) ? PKMath::kMale : PKMath::kFemale;
// Create an instance of a C++ VancoBolusDose. PKMath::VancoBolusDose* vancoBolusDose = new PKMath::VancoBolusDose(weight, height, age, scr, peak, trough, gender);
// Do stuff with dose here. delete vancoBolusDose; vancoBolusDose = NULL; }

So, along comes December, and I haven’t really done much with the iPhone app. I was thinking about it, but not writing much code. I wanted to mess with Objective-C more, try some things out. I decided I’d port the PKMath classes from C++ to Objective-C. It took very little time and I had the beginnings of the PKMath library used in RxCalc 1.0.

Revisiting the code example above, this is what it looked like after creating the new Objective-C version.

- (IBAction)calculateNewHandler:(id)sender
{
	double height           = heightTextField.text.doubleValue;
	double weight           = weightTextField.text.doubleValue;
	double age              = ageTextField.text.doubleValue;
	double scr              = scrTextField.text.doubleValue;
	double peak             = peakTextField.text.doubleValue;
	double trough           = troughTextField.text.doubleValue;
	PKGender gender         = (PKGender)genderSegment.selectedSegmentIndex;
// Create an instance of an Objective-C VancoBolusDose. VancoBolusDose* vancoBolusDose = [[VancoBolusDose alloc] initWith:weight :height :age :scr :peak :trough :gender];
// Do stuff with dose here. [vancoBolusDose release]; }

Apple Core Labs first product, RxCalc, was accepted in the iTunes App Store on July 4, 2009. What a great day!

appstore.pngIf you’re a Clinical Pharmacist, and perform Pharmacokinetics calculations on a daily basis you can purchase RxCalc for the very low price of $0.99.

Categories
Indie

Hello MarsEdit 3

RocketMars.png

I’m posting this entry with the new MarsEdit 3, using the new Rich Text editor, very nice Daniel.

Categories
Indie

Flying Meat Certificate of Registration

When I upgraded to Acorn 2.0 I got this lovely Certificate of Registration, suitable for framing.

Categories
Indie iPhone

The Tapbots on Twitter for iPhone

Tapbots Blog: “What are their intentions? If it’s just to provide an official free client for users, that’s great. But we need to know if they’ll continue to welcome and encourage 3rd party clients to keep going. They also need to give us a fair chance to succeed by not giving their official client an unfair advantage when it comes to accessing the API. There are so many unanswered questions right now. We are aware of their dev conference this week, Chirp. We aren’t attending, but hopefully good news will come from this event.” – First off, these guys make great software. Second, they have the right attitude regarding the Twitter acquisition of Tweetie. They’re hoping it doesn’t kill off their product, but they’re not yelling and screaming about it. It’s the right way to approach it. Regardless of the outcome I’m sure they’ll continue to bring us great software, and that’s what it’s all about.

Categories
Indie Life

Congratulations Loren Brichter

Tweetie IconTwitter Blog: “We’re thrilled to announce that we’ve entered into an agreement with Atebits (aka Loren Brichter) to acquire Tweetie, a leading iPhone Twitter client. Tweetie will be renamed Twitter for iPhone and made free (currently $2.99) in the iTunes AppStore in the coming weeks. Loren will become a key member of our mobile team that is already having huge impact with device makers and service providers around the world. Loren’s work won the 2009 Apple Design Award and we will eventually launch Twitter for iPad with his help.”

Atebits Weblog (Loren Brichter’s Company): “Now I’ll be working with them on the inside. I’m happy to say that as of today Twitter is the proud owner of Tweetie – and I’m joining their mobile team and starting work on turning Tweetie.app into Twitter.app, for iPhone and iPad.”

Wow, this is huge news. Congratulations Loren, congratulations Twitter, and congratulations users. This is a game changer for developers of Twitter clients. Let’s see how it plays out.

Categories
Development Indie Mac

Mac Bits for Sale?

Matt Legend Gemmell: “I want to solicit some feedback on the idea of selling source code for the iPad/iPhone and/or Mac platforms. It’s something that’s commonplace (and popular) on other platforms like .NET and Java, but for whatever reason it’s never taken off on the Mac. I think that there’s potentially a reasonable market, particularly for iPhone/iPad, and I’d be interested in your thoughts.” – It’s odd there isn’t more of this in the Mac world. There’s definitely a whole lot of free, very well designed, Mac and iPhone source code floating around out there. Matt’s very own MGTwitterEngine or Gus Muller’s FMDB to name a couple.

I, for one, would welcome high-quality, supported, fully baked component bits for the Mac, iPhone, and iPad. It’ll make my life easier and allow me to focus on creating apps by not having to create as many foundation pieces.