To Objective-C or not Objective-C

swift-book-150x150It has now been almost two weeks since Apple released the Swift programming language and after the initial hoopla and everyone chiming in on what language it most resemble, and as the euphoria begins to settle and realization begins to finally sink in, I am seeing two camps with opposing views as to what should you learn first.

Drew McCormack tweeted “Intriguing that non-devs seem to perceive learning Swift as being much easier than Obj-C. I guarantee it is much, much harder. C++ hard.” see his tweet. The tweet has gotten quite a response.

And yesterday, June 11th, Aaron Hillegas, blogged that “iOS Developers Need to Know Objective-C”, (read his blog here) and by reading the comments left on the blog, it got quite heated, vocal and accusatory. Aaron has authored numerous books on iOS development.

On the other hand, we have newcomers, who look at Swift and have fallen in love at how ‘easy’ and ‘readable’ Swift is. Some are comparing it to JavaScript, others to Scala, Haskell and Rust. Clearly, Swift ‘borrowed’ heavily from all theses different languages and others, as stated by Chris Latnner on his webpage. And Apple’s Xcode playground, makes Swift look like an leisurely afternoon walk in a balmy day in Central Park.

This battle fronts remind me of old Apple Windows ads of “Hi am a Mac, Hi am a PC”, but now we have “Hi, am a Swift Programmer, Hi am an Objective-C programmer”. (Maybe I can get my crew to come up with some clever sarcastic videos depicting said programmers).

What do I think?

There is an element of truth to the fact that you need to have some prior experience in programming in order to dive into Swift. I have been looking at it for a week now just like all of us are doing at the moment, and I have to say, that I find some of the language semantics easy on the eye, some others, not so much. Don’t get me started on the notion that you can use emoji’s as variable names. Just how many poop emoji variables can one have in a page. Yet, it makes the integration with the cocoa and other frameworks more palatable. And that is the point, I think that just ‘learning Swift’ is not going to make you an Mac or iOS developer. It is about the framework and learning Cocoa, SpriteKit, CloudKit and the hundreds of other Objective-C frameworks out there to integrate with Swift is what I think is necessary. And lets not forget the millions of C++ lines of existing code out there (on top of the other million Objective-C code), as well as pure raw “C”.

All hail the great “C” language which is almost nearing 50 years of age and it wont die. (oops sorry I digress).

If you want to be an iOS/MacOS programmer and want to write super cool apps, and If you don’t know what NSWindow, NSObject, NS…. is, well then, Swift is just going to be just as useful as a Zambonie at a Football field. During WWDC, Nate Murray wrote a Flappy Bird clone within 24 hours of Swift being released, calling it FlappySwift. (click here for git). Am pretty confident that Nate knows his Cocoa Frameworks pretty well, and am willing to sate, he knows his Objective-C well enough to have gotten FlappySwift off the ground in hours.

The barrier to Mac development got easier (?) with Swift, but there are all the intricacies we have come to love/hate over the years that we have had to struggle with and learn. The new crop of Mac developers (new being the key word here) who will think using Swift is going to be easy, are in for a quite a treat. And don’t get me wrong, I am as enthusiastic about Swift as all of you are, but some of my thoughts here are based on my experiences as a developer.

I could go on, what do you think of developers learning Objective-C first then Swift, or vice-a-versa?

Thoughts welcomed,




The Swift Language


codinginswiftpanelLast week, June 2nd, Apple announced a new programming language called Swift.

As I watched the Keynote, I turned to one of my colleagues and said something to the extent that Apple would introduce a new language and new graphic features. And I was right. It was about time for a new easier and more palatable language than Objective-C. Now Objective-C is not going anywhere. There is a ton of legacy code and if we have learned anything from the past, is, that if it works and it is shipping, there is no need, cough, cough, cough, to rewrite it. Swift is a very nascent language, there is a lot of excitement around it, I am excited about it, but Objective-C is not dead and will not be dead five years from now. It may not be Apple’s official language, but like C, the language will not just go poof and disappear.

Having said that, I saw, seen, and am experiencing the same level of enthusiasm as all of you who are currently knee deep in shit in swift. Love all the comparisons to every language out there, Rust, Erlang, C#, Go, Haskell, Javascript. Missing are Forth, Fortran, Cobol, C and C++. ( just kidding guys ).

And with that enthusiasm, I started a twitter channel for all things swift related, a facebook swift page, meetup group, and a forum. And I invite you to follow us on twitter, like us on facebook, join our meetup, and discuss swift language and other languages over at our forum.

Twitter :




Thanks and expect all sorts of swift programming updates, tutorials, learning courses from me and my group of crazy die hard language fanatics from all sorts of language backgrounds.

Feel free to reach out at cicaza [at] carlosicaza [dot] com (you know the drill on emails). And if you want to help us in any way shape or form, by all means I welcome that.

And with that, go follow @codinginswift, like us on facebook and join our meetup, and ask away at our forum.


We Really Don’t Know How To Compute!

Gerald Jay Sussman is the Panasonic Professor of EE at MIT. Sussman is a coauthor (with Hal Abelson and Julie Sussman) of the MIT computer science textbook “Structure and Interpretation of Computer Programs”. Sussman has had a number of important contributions to Artificial Intelligence, and with his former student, Guy L. Steele Jr., invented the Scheme programming language in 1975.

This presentation is a poignant realization of how we really don’t know how to compute, and my two favorite gems are, programs are not modifiable going forward and that the real problem in computing is the evolving and maintenance cost are becoming increasingly expensive.

Called it.

If true, and I think it will happen, as it is only a matter of time.

In an article published on Informationweek 03.23.11, I stated that Apple will eventually replace Intel chips with its own A5 Chips (ARM). (ok the A5 is the A6 and is based on ARM architecture)

“Carlos Icaza, …, believes Apple is preparing for a transition to ARM chips, particularly given Apple’s acquisition of chip maker Intrinsity last year. “We could actually start seeing the lower end MacBook models and the MacBook Air running A5 chips instead of Intel chips,” he said. 

Today, November 5th, 2012, TechCrunch reports that Apple is looking into switching from Intel to its own ARM chip sets.

Click link for the TechCrunch Article

Smart move.


It doesn’t matter what anyone says

Apple sold over 5 million iPhone 5 this past weekend. It disappointed Wall Street as they wanted over 6 million sold. Piper Jaffray, analysts, wanted over 10 million sold, therefore calling it a disappointment. Also, over 100 million iOS devices updated to iOS 6.0.

So much to the ballyhoo of the Samsung ads bashing the iPhone 5.

After seeing the following pictures, do you think it really matters what wall street says? or anyone else for that matter?



The Verdict Is In – Who deserved to win?


As usual, the e-mails, twitter direct messages and even Facebook messages have prodded me to write about who I thought deserved to win. If you don’t know what verdict am talking about. Well, obviously, the Apple vs Samsung verdict handed down on Friday, August 25th, 2012.

So who won? Apple did and Samsung’s, before Judge Koh adds additional ‘willful’ damages, fine came to about $1.05Billion. The jury found evidence of willful infringement on patents.

So I will pause for a minute and let you all know, (those of you who don’t know me well) I have been an Apple user since 1983. My first computer was an Apple //e. My second computer, a Mac 128, the rest you can sum up.

I have been programming in both camps, Apple and Microsoft, professionally since 1992. The first cross platform product I worked on was called Deneba Canvas. It was feature by feature parity on both Windows 3.1 and Finder 7. You are reading that right, Windows 3.1 and Finder 7.x – Mind blowing.

So my world as a professional developer has been writing cross platform ‘apps’ and before I embarked on my own entrepreneurship endeavors, my software highlight culminated with Adobe Illustrator, Flash Authoring and FlashLite for mobile devices, pre-iPhone. (Well, come to think of it, Adobe did never ship a truly working copy of Flash for iOS, more in the lines of ‘look we have something working’ crap).

“Hey, I don’t give a hoot to your background, get to to the point”.

I am, I am.

What has been interesting to read amongst all the blogs, along with all the ‘fanboyism’ is that just about in every blog comment there is always a ‘patent’ system needs to be reviewed and all hell breaks lose about the patent system. Then the fan boys kick in and it becomes a war of words and insults and everything else that you can think of, “overpriced”, “a loss for x,y,z”.. etc.

But here, Apple won. There is not going back. Even if Samsung wins the appeal, and by the time they get to the appels court, it will be too late. A clear decisive victory for Apple. But this is more than the jurors agreeing to the violation of patents, it was also about the look and feel patents, ‘dress patents’, design patents and what not.

I was kneed deep in shit, working with Nokia and Symbian and bunch of other device manufacturers from Asia, Europe and even Korea, back in the 2006/2007 timeframe (Flash Mobile Authoring and FlashLite 3.0). Writing mobile back then was as painful as having your molar extracted without any Novocain and with a pair of rusty pliers. Seriously. An aberration of the senses.

Then in 2007 Apple introduced the iPhone and development for the iPhone was what we were used to as developers of desktop apps. “Build”->Sync->onYourPhone. There. Bam. Done. Debug, not a problem. Profiler, not a problem. etc. (well it was later than 2007 when Apple introduced the SDK but you know what I mean). Nokia’s C++ was outrageously expensive, and as for the ARM compiler, we had a floating license because it was in the 5 digits to have a license of the ARM compiler back then.  And it was not a ‘build->sync->on your phone’ it was not that easy.

Apple made it simple. And because of Apple and what they did to the mobile industry, I was able to found my ‘mobile app company’. Yes. Apple made it possible. And look around you. There are hundreds of entrepreneurs each day, from 13 year olds, to 80 year olds, getting into the business of app development, because one company, which was in the brink of death in the mid 90’s, had an idea and they executed against it.

Nokia, Rim, Adobe, even Google, and countless other ‘mobile’ companies of the mid 2000’s were in for the win. But they all got steamed-roll by a fruit company down the street from them.

We would not be where we are because of Apple’s vision. Some of you reading this, are in the mobile app development world because of Apple. Not Nokia, not RIM, not Adobe, not Google, not Samsung. It is because of Apple. Some of you are using my product to be in the mobile app business and making some ‘diaper money’ on the side, and because of Apple, it made my dream of becoming an entrepreneur in Silicon Valley a reality.

And guess what? some of you will read this on your mobile device, wether it is an Apple, or a Samsung device. And less than 5 years ago, you wouldn’t have thought of even remotely possible.

So yes, Apple deserved to win. And thank you Apple, and Steve for making this decade the mobile decade. If there is to be a person of the decade for 2010’s it should got to Steve, cos he change the world, and left a dent in the universe.

My $0.02


ps: why did you mention cross platform at the beginning? Because I am still doing cross platform development after all these years. But instead of Apple/Microsoft it is now for mobile, iOS/Android currently, and soon other mobile OS.

pss: Apple has paid out over $5bill to developers since the apps were allowed in the store. Bueller?

psss: But wait, there is more… This is the biggest Marketing mind set Apple could have ever dreamed of, specially on the heels of the iPhone 5 announcement and the purportedly iPad Mini in September.

psss: Yes I wish Leo “Disaster of a CEO” Apotheker would had never dumped the Palm WebOS B.U.

pssss: Injunction hearing set for Sept 20th.

psssss: Working with the Android SDK/NDK combination is as painful as working with the then Symbian SDK for Nokia. Arcane.

PS: I want to thank the Appcelerator team for allowing me to give my opinion on their blog. And for everyone who provided feedback as well. Thanks.





Begun the Clone Wars Has…

Let’s rewind back to the 1980’s when IBM introduced the IBM PC.  It was based on off the shelf parts. Probably the first time ever IBM used non-IBM parts to build a computer. Every other computer that had come out of IBM had been built with IBM parts specifically done to their exacting standards.

Later around 1984, after the Mac 128K was introduced, or around that time frame, IBM introduced the IBM-pc-AT.  It was around this time frame that clones (they were there before, but not as prevalent as after the AT came out) started to encroach into IBM’s well-guarded territory.  Besides, “nobody has been fired for using IBM” so how could anyone not buy an IBM and go wrong?

Compaq, Dell, Gateway, Orange, Apricot, and countless other manufacturers of PC’s filled up the then “Computer” stores with cheap alternatives to IBM.

IBM reacted, panicked, and introduced the PS/2 line changing the AT architecture into its own proprietary format, the Micro Channel Architecture, vastly superior to the AT (ISA) architecture in hopes to lure back customers who were buying alternative PC’s. Following that, the “clone makers” formed their own consortium and came up with the EISA architecture so they wouldn’t have to pay IBM to license the MCA technology.

It was not long before IBM realized their “oops” moment as MCA was not compatible with the plethora of video, network, you name it board; any ancillary add on board was not compatible with MCA. EISA was. So everyone just ignored the PS/2 and continued to purchase “the clones”.

(ps: I was a proud owner of a PS2/60).

Now, let’s focus on OS’s. And this should be fairly short.

IBM PC licensed MS-DOS, clones licensed MS-DOS.  Apple had its own Finder. The niche alternatives had their own OS’s, Amiga OS, Atari OS, etc. Later, around the late 80’s came the GUI OS’s, Windows 3.1, GEM, DeskMate, Geos, X Windows, IRIS, NeXT, etc.

So what?

Wait, Apple had its own Finder? IBM and the Clones had MS-DOS? The niche players had their own OS’s. I won’t even mention Windows and IBM OS/2 because we all know what happened there. (Can we also say billions down the drain?  Taligent, BeOS, WebOS?!)

Apple iDevices have their own non-licensed OS called iOS
Google and all the clones have licensed Android
The (“now”) niche players have their own OS?
BlackBerry with their BBOS, Nokia with WP7, Samsung has Bada, HP had WebOS(Palm) and in Japan, NTTDocomo and some other big telcos are dipping their hands into other OS’s that we haven’t even heard of.

So there is a similar state in today’s mobile world as we saw in the early PC era of the 80’s.

Whatever happened to Compaq, Dell and some of the other major PC clones? What happened to the Niche players? Atari/Amiga? What happened to the bevy of GUI OS’s?

Compaq got bought out by HP = Google buys Motorola Mobility
Dell loses leadership in PC sales = RIM losing market share today
Gateway = Nokia
Atari/Amiga/etc. = Nook, Amazon Fire, and some others
The dead pool = HandSpring/VirginMobile/ESPNMobile…etc.

So, you say, Carlos what if any does this have anything to do with the Tablet wars?

In order to predict the future, as the adage goes, you must look at the past.

And this past month we saw the introduction of the Microsoft Surface and Google introduced the Nexus 7 tablet.

And all analysts, fan boys, hate boys, etc. came out of the woods to chime in and cast their vote.  We all do. Just like the NFL FanBoy who is the best Good Old Monday Morning Quarterback.  We have our analysis and a few words to say. This is our NFL – and now we are waiting to see who goes to the SuperBowl. (Ok, I get carried away sometimes but you know what I mean).

Google with the new Nexus 7 just bitch slapped Samsung, Amazon Fire, the NOOK, and the other Android tablets out there; crazy, it also gave a huge vote of no confidence to Motorola Mobility. Google teaming up with Asus to deliver on a 7” Android Jelly Bean tablet instead of Motorola. Sure, had it used Motorola the FTC/Sec and every other security TLA commission would have been on top of them like fly on shit due to some sort of insider knowledge, trade, etc.. crap that someone would have pulled against them in order to make an improper business allegations against Goorola merger, but seriously? Joining the space that your partners have been supporting you in?

Reminds me of the Microsoft of yesteryear. Norton Antivirus, check, Memory defragmenter, check, Disk utilities, check, Word processors, check, Spread Sheet, check. Them predatory practices that put Microsoft in a bind, is what to me, Google is doing to its partners.

So why would Samsung, Amazon, HTC and others continue to support Android? Hello?? I would not. Getting shafted by the maker of the OS is just plain bad business leaving a bunch of people with bad taste.  Besides, most Android device manufactures have to pay Microsoft a licensing fee of upwards of $15 dollars due to some Android patent infringements. It has been surmised that Microsoft has made over $500 million in Android patent fees, actually, making more money on Android that Google. I like to think of it as Google was the one who finance the Windows Surface project.

If I were the head of any of the aforementioned companies I would have a task team looking for alternative OS’s.

Samsung to take Bada out of Asia and start a US/NonPAC push
Amazon – revives webOS or gets something else fast
NOOK – just like Amazon, but with their current Microsoft partnership, hello Windows 8, here we go.
NTT-Docomo – they hate Android because there is no differentiator among the Android phones in Japan vs KDDI and the others big telcos. Hello Mozilla OS.
Microsoft – buy RIM for their assets, and distribution and the messaging/mail infrastructure. (Just get the patents and put them out to pasture).

So the theater of operations in the mobile clone war is beginning to take shape.

Microsoft, Apple – with their deep pockets, are not going anywhere.  Apple with iOS and iDevices will continue to make huge profits and continue to drive excellence.  Microsoft is a copycat but due to their deep coffers, can put up a good fight, well not really, but will be on the long run and out finance its compeititon.

Googrola/Amazon/Nook/Samsung/HTC – here comes the blood bath. This is where the real fight is going to happen and the battle lines were clearly drawn by Google at the I/O conference. This is going to be one hell of a blood bath and it is going to be a fight until their grasp continues to diminish.

Coincidentally, the only one in this pack that could suffer the most is Samsung. Unlike Amazon/Nook/Google, Samsung doesn’t have a Video/App/Streaming/Book/ “content” distribution similar to its brethren (at least not here in US).

And who is going to come out of left field and try to get into the action?  How about Mozilla with their HTML5 based Mozila Mobile OS(some of you may know it as Boot To Gecko)?

Given the latest reviews from notable technologist, the Google Nexus 7 has been given high marks.  And for Jelly Bean, (aka Android 4.1) reviewers are all googly eyes over it (pun intended), clearly making this an indisputable clone wars started by non-other than by Google.

Given the new battle lines, here is what I think:

Apple will undoubtedly continue its dominant position without any dent in its sales because of the Nexus 7.  Seriously, the Nexus 7 will eat into Amazon/Nook/Samsung/etc before it makes any dent in the Apple iPad Sales.

Microsoft and its Surface tablet – I think that MS has a good chance to become the 2nd place in the tablet wars. With its deep pockets and Android licensors having to pay MS for patent infringements, makes sense that given the Nexus 7 some of the early supporters of Android will move away from Android and into other markets where they either pay less per license or something completely different.

The Android Clones  will settle at 3rd place before some of the tablet makers realize how bad they have just been shafted and either move away from Android or from the market altogether.

RIM/Nokia – Dead

Mozilla OS – reminds me of IBM OS/2 will serve as a niche market.  Great opportunity for some manufactures to use instead of Android so as not to pay the hefty Microsoft patent tax. :-)

So who wins this war after all?

Actually developers and cross platform framework makers like Appcelerator or Moai win.

Developers win because they have a job working on all the different platform, segmentation, etc.
Framework makers win because they can create tools to target multiple platforms at once.

Who loses?

Anyone building Android devices and, obviously, RIM/Nokia

Who is the real winner?

The real winner is the “App” because as long as I have my favorite App running on my bevy of devices, and as long as the app does what I need it to do flawlessly and my data is readily available anywhere, anytime, I will be ok regardless of device.


In the late 80’s early 90’s we saw a consolidation of companies, both in terms of hardware and software. Some of them were, and still are synonymous with the markets they spearheaded. Pioneers in the true sense.

This mobile industry is still very young, but looking at the past, it should predict and or allow us to predict who will be the dominant players, who will die, and who will come in from behind and take over a specific niche market (i.e.: intuit).

And the now lingering question is, who is the next intuit of mobile? …. stay tuned….

So Adobe Finally Killed Flash on Mobile

In the I told you so department….

I have gotten a flood of emails, calls, text messages from industry analist, pundits, Adobe Flash Fanboys, haters, regarding the recent news on Adobe finally killing Flash on Android.

So, instead of babbling on what Adobe shoulda/coulda/woulda done, I will point you to these articles and let them speak in my behalf



Have fun reading them and let me know your thoughts.


The Microsoft Surface, Apple No Need to Worry

Lots of emails on the new MS Surface. Here is my short answer.

Microsoft has fallen wayside in innovation. I can write a whole book on Microsoft from its early days up until today. They missed the Browser/Internet Train. They missed a lot of stuff. All because they want to milk their Office and Windows products. Product after product and stories after stories of how it is not a product unless it runs some sort Windows/Office combo.

Blah. That’s all I have to say. I was not impressed by the new Surface tablet. Not only was it a dud, flat, dull and lackluster event, it is, as the old adage goes, a day late and a dollar short.

So why even bother? Will it kill the iPad?

NO. The Microsoft Surface is not an iPad killer. It is an Android replacement. It is a reason not to buy an Android tablet. Which are notoriously bad and fragmented. Sue me. Yes. They are.

Most tablet and phone manufacturers have to pay Microsoft up to $15 patent/licensing fee for using Android on their devices. Wait a minute? HTC, Samsung, and all other Android device manufacturers have to pay Microsoft a licensing fee for supporting Android? With sub-par software?

According to IDG, over 300 million Windows PC’s will ship this year (sue me part II, don’t have a link) and a lot of these users will want a tablet that will run their software without a hitch. Hello Microsoft Surface. Adios Android.

Samsung is the leading Android device vendor (sue me part III, no link) and Samsung has an alternative OS called Bada. Well, Samsung’s relationship with Google most likely will go sour once the Motorola Mobility merger clusterf**k gets some sort of respite and they work out their merger kinks. So Samsung will have to stave off Motorola at their own game. Google will most likely push new features of Android first on its own devices. Why buy Motorola in the first place. I would do the same. I would keep some hot features only available on my product line not  to a competitor. Hell no.

And as I mentioned before, with all the other Android manufactures having to pay the Microsoft tax. Why just not switch to Microsoft tablet and pay less.

Anyhow, NO, the new surface will not out seat the iPad. But it could give Android a big headache.

As to the Surface introduction last night. Totally FUD announcement from Microsoft.

No pricing announced, no battery duration information announced, no major apps demoed, the one app they demoed crashed the unit (it would not be a Microsoft show without a blue screen of death) and worst, two models were announced, an ARM based model and an Intel Sandy Bridge model were announced with higher disk capacity. Yet, the worst part? No release date. Worst part numero 2, two different versions of XP will be available for the surface, one for ARM CPU chipset, the other for the Intel chipset. Yikes !

So this was a total FUD on Microsoft. A panic move as I would describe it. Balmer said, it took them this long to get something right, I call that BS. It took them this long to figure out how to run Windows/Office on a tablet without crippling the software.

But, setting all my sarcasm aside and MS bashing, will it sell? Yes. Why? Because it is Microsoft after all and while in the US it may not be as appealing and hot and sexy as Apple, there are dozen’s of other countries where Microsoft is as much of a brand as “Coke”. Does it have a chance to displace Android? I hesitate to give it an absolute yes, but the only way it would do that if is Microsoft gets the pricing and battery life right. Android may become 3rd.

In other related tablet news, RIM is about to expire and Nokia is entering life support. MS do us all a favor and buy them out. You have got plenty of cash and you can tap into their talent and distribution.