Posts Tagged: Computing


29
Nov 11

Are Netbooks really dead?

20111129-012931.jpg

Acer is sticking by netbooks.
Samsung is not.
So who’s making a mistake? Did tablets kill the netbook?

Tablets are certainly on fire right now. Not tablets per se, the iPad that is.
Kids want tablets and parents agree, as they are spreading light wildfire in the enterprise. It seems like Steve Jobs managed to invent an entirely new computing and entertainment category based on early failures of others. Again.

While you can attach keyboards and stands to tablets, seed entire accessory ecosystems, tablets remain content consumption tools. The can attach themselves to other devices as controllers and rich user interfaces – a future I am truly stoked about. But writing serious documents, creating stuff – they are not ideal. To create, a keyboard, a real keyboard, seems to still be a necessity.
Continue reading →

Share

8
Nov 11

Flash vs. HTML5: When clients ask you to take sides in a holy war

Recently, a client asked me and my colleagues for a point of view on whether they should develop a profoundly animated website in Flash or go with HTML5. I love HTML5. I worked in Flash in the bad old days and was not a fan. I love HTML5. I even have the sticker on my laptop.

This is naturally prep for a big but.
It comes in the form of the list we shared with our client.
Look at it as a conversation starter. Be nice.

 

  • SEO – Flash and HTML5 are both not ideal for SEO (Canvas and SVG are not textual and hence indexable) 
  • Performance depends on what we need to achieve; complex HTML5 is as slow as complex Flash
  • Creative Liberty – Flash can accomplish more, in less time than HTML5
  • Build time – Flash development, on more browsers, will require less time *for the same thing* – assuming a lot of animation and interactivity
  • Browser Compatibility – HTML5 pretty much cannot work on browsers older than 2 years; Flash still works on the older Internet Explorer browsers that too many people still use. And we have to care about them.

This list is VERY MUCH for the present time. Things change fast and HTML5 is gaining a foothold faster than Flash is losing it. 

Still, right now, it's what I believe. Flash had to be the way to go. Sounds apologetic, no?

OH – and we ARE building an HTML5 mobile + tablet version of the same site. Mobile web vs. native apps – now that's a holy war I do take sides on.

Share

30
Jan 11

Private methods in Objective-C

Coming from the Java world, I love, care and embrace all things private, including private methods. Objective-C supports the feature but it appears to me (based on very shallow Googling) that there is not too much familiarity (or use) with it. I looked in a book I recently acquired, Learn Objective-C for Java Developers (Learn Series). While not a book a perfect book, it does cover the how-to of private methods in Objective-C.  

The key to the approach is to leverage Objective-C categories. Categories are a mind-blowingly nifty in the fact that they allow you, among other things, to augment objects you did not create with your own methods. While there are other ways of 'hiding' private methods, most of them result in warnings in Xcode. So here goes…

Say you have an object called CoolWidget. You create the header file (CoolWidget.h)for it as usual, i.e.:

@interface CoolWidget:NSObject
{
    int publicVar;

    @private
    int somePrivateVar;
}

// public methods
-(void) doSomething:(BOOL)cool;

@end

To add private methods to it, you would create a category for the object in a separate header file (CoolWidget+Private.h):

@interface CoolWidget (Private)

// private methods
-(void) doSomethingPrivate:(BOOL)cooler;

@end

All that's left for you to do is to include the additional header file, CoolWidget+Private.h in your implementation file, CoolWidget.m (though categories are often/normally implemented in their own .m file).

Update:

As my friend Glenn Barnett points out in his tweet, there is no such think as private methods in Objective-C. Unlike C++ or Java, there is no real 'enforcement' of access to the methods. Privacy, overall, is purely by convention. 

Share