The secret of tech support

On 08/07/2010, in tech, by thomas

If you haven’t already discovered it, this is the true secret of tech support.

Tagged with:  
Kin

Kin

If you haven’t heard of it already, Kin is/was Microsoft’s attempt to make a phone for the young, connected crowd. The ones who use facebook and twitter but doesn’t need a smartphone. A few days ago rumors said that the phone sold only 10.000 units and had been canceled. The truth was even worse.

People inside Microsoft have reported that they’ve sold only 503 Kin phones since release. That is 0,01% of iPhone 4′s first weekend sales. It is a disaster. Microsoft purportedly spent over $1 billion on the project. Most other companies would be bankrupt by such a failiure. How could this happen? Most of the tech pundits I listen to said this when Microsoft first showed of the phone. I too didn’t think it would sell great, but not this bad.

But in hindsight I can see where it all went wrong:

  • The Kin wasn’t done. Many features were missing or buggy
  • It wasn’t a smartphone, but it had smartphone plans, costing as much a month as an iPhone or an Android phone
  • The marketing was bad
  • The target market is small or non-existant. I can’t imagine who would choose a Kin before an iPhone
  • Microsoft doesn’t understand it’s customers

When you look at it this way, it may even be surprising they sold any. Of course, some of them was sold to people who try new stuff, blogs and others who doesn’t get review units.

What does all this lead up to?

I will go on record saying that Windows Phone 7 will also be a flop. Not as bad as the Kin, but still a flop. It will sell a few units in the first days, until people understand the weaknesses of the system and the reviews comes out. Word of mouth will also slow down adoption. Some businesses will pick it up, if they are 100% Microsoft shops already. Then they too will see where it comes short, and go back to Blackberry or whatever they were using before.

Microsoft simply can’t produce a product that is good enough to compete with iPhone and Android in such a short time. Just read interviews with the Windows Phone 7 team leader. They know the product won’t be done. It won’t have all the necessary features. They will be playing catch-up for years to come. Maybe they can get back in the game, but not this year. Not yet.

Tagged with:  

iPhone delegates explained the easy way

On 26/06/2010, in iPhone, tech, by thomas

Many have problems understanding the concept of delegates in objective C. I think I’ve come up with an explanation that will clear this up for a lot of you. If you have never implemented a modal view, I suggest you do that before you read this.

First, the conceptual bit. A delegate in objective C is the same concept as in real life. You delegate a task to somebody else, who gives you the result when they are done. Or if there is no result, they just tell you they are finished.

So how does this work in code?

First you need to figure out what you want to use a delegate for. A common use is to close modal views, so I will use this in my example. The example is from one app I am currently developing.

When you want to close a modal view, they best way to do it is to let the parent view close it. The way to achieve this is to implement a delegate method. Let’s dive into it, shall we?

First, in your modal view, you have to implement a protocol. This is a description of what tasks you want to delegate to others. A protocol is defined in the header, like this:

Line for line:

@protocol HotelListViewControllerDelegate; // Tells the compiler: Hey! I’ve got a delegate protocol in this file!

id <HotelListViewControllerDelegate> delegate; // This is an instance variable where you save your delegate

@property (nonatomic, assign) id <HotelListViewControllerDelegate> delegate; // Create getters and setters for the delegate

@protocol HotelListViewControllerDelegate <NSObject> // Define your protocol
@required // This says that your delegate must implement these methods
- (void)hotelListViewControllerDone; // First delegate method. No arguments
- (void)hotelListViewControllerDoneWithHotel:(NSString *)hotel; // Second delegate methods. String as argument
@end // Declaration of protocole done

The only think you have to do in the modal views main file (.m) is to synthesize your delegate:

// Implements getter and setter for you (-(void)delegate and -(void)setDelegate).

That wasn’t too hard?

Implementing the delegate methods

First you must tell the view that initiated the modal view that it is the modal view’s delegate. In the header, you must show that you want to be the delegate for the modal view:

The only interesting part here is where you add <HotelListViewControllerDelegate>.

but how does the modal view know who to ask for help? It doesn’t yet. This we can fix, by adding one line to the method that creates the modal view in the main file (.m):

(I blacked out a bit hinting at what my app is about, this shouldn’t matter for your understanding of the code)

Here you set the modal view’s delegate to yourself.

And last but not least, implement the methods you described earlier (still in the parent view’s main file):

[self dismissModalViewControllerAnimated:YES]; // This dismisses the modal view

That’s it. If you followed this and implemented it in your own app, it should now work. Remember not to copy the names I use, but use names that fits with your app. If you have issues, comment below or mail me at help@thomassnielsen.com.

Tagged with:  

Open PDFs in iBooks

On 24/06/2010, in iPhone, tech, by thomas

Many people are wondering how to get PDFs into iBooks. Some have even told me they didn’t think the iPhone got that functionality, since there is no book/pdf switch on top when you don’t have any PDFs in your library. So here is how to do it:

Drag your PDFs here

Method 1:

  • Open a PDF in Safari.
  • All the way up top there should now be a button: “Open in iBooks”. Press it.

Method 2:

  • Open iTunes on your computer.
  • Drag a PDF to your library (see picure). It should appear under Books.
  • Connect your iPhone
  • Make sure book sync is enabled (under the books tab), or check the box for the file there
  • Sync

Now your PDF should open in iBooks.

PDFs reads a little differently in iBooks than elsewhere. It works better for books and papers in my opinion, but for other files like presentations and tables the normal view is equally good.
There you have it. I would guess the same also works on the iPad, although I can’t confirm that.

iBooks

Bus schedules in iBooks. Handy.

Tagged with:  

New design, new everything

On 22/06/2010, in iPhone, meta, projects, tech, by thomas

Sometimes you hear people talk about life-changing experiences. Maybe it was a trip, maybe it was an event, maybe an accident, or even a book. For me it was a book. More precisely “Crush it!” by Gary Vaynerchuk.

I listened to the book in audio format, read by the man himself. If you got an audible subscription, this is a great way to spend a credit. Even if you aren’t planing to start your own business this will give you a new perspective on life. But if your dream is to be an entrepreneur, this will be even more valuable for you.

So what does this has to do with the new design? I am planning to try harder. Much harder. And my first action is to redesign the site. I know it is a rip-off of apple.com, but so what? They’ve got better designers than I could afford if i mortgaged all of my family’s homes, so I might as well just copy their work.

Next on the agenda? Stay active, continue developing my apps, but most importantly of all, stay focused on what matters most: My family, and especially my girlfriend. Without them I couldn’t do this anyway, so they come first. Second? My dream of becoming and independent software developer, and hopefully expand it to a thriving business. Before TV, before playing games, and so on.

If you like tech, software or software design, my blog might just be the thing for you. Follow me on twitter or facebook to keep up with the latest news.

Tagged with: