Saturday, May 8, 2010

Rude Awakening: How Flash Has Exposed The New Development Paradigm

Adobe's Big Blunder

That fact that Flash CS5 released the iPhone exporter, and forced Apple's hand, shows that the execs at Adobe are not listening. It was no secret that Apple was going to change the rules when faced with a potential tsunami of bad Flash-generated apps. In spite of Adobe's insistence that they perform well on devices, any critical glance reveals it's simply not true. Self-delusion is not pretty or helpful. This is like Microsoft saying there's nothing wrong with Vista. This is hubris, plain and simple.

It's time for the Adobe investors to clean house in the tower. I'd love to see Ben Forta run Adobe. He has had the intelligence to stay out of the Apple-bashing, and obviously had a hand in the 64-bit Cocoa moves that have been a huge success on CS5 tools like Photoshop and Premiere Pro. In contrast, the Flash group has failed horribly, both technically, and politically. It's been a public, embarrassing disaster.

Flash Developers Screaming Inside A Burning Building

Flash everywhere is not a right. iPhone is not a monopoly. Simply go over to Android and fail on that platform instead. All the crying about being open is a waste of time. If half the energy behind flaming Apple was used towards learning Objective-C, they'd be doing apps on iPhone and iPad right now. They'd also have to admit that they are making far better quality apps without Flash. I have no sympathy or respect for developers who are screaming in the burning building. Have enough sense to walk out the front door. Being stupid and lazy is no way to further your career.

Device/Mobile Development != Desktop Development != Web Development
Ubiquity is not going to reach the mobile world via Flash. It's not even happening across Android phones. As new devices keep coming, they keep getting better. Adobe cannot keep up with this pace with Flash. They can't even get off 32-bit. Creating subsets of support by which we funnel our development is an impediment to innovation. Flash is a Swiss Army knife. It is not a scalpel. I cannot defend mediocrity.

Nothing is more mediocre, slow, and uncool that a web app. Blackberry is a waste of time. Users do not want an experience that is LESS than the web page. They hate web apps and web-dependant views with a passion.

Native and HTML 5: The New Paradigm

Object-oriented programming, web programming....device programming. This is a new age of development, and it's on afterburner. Unfortunately, many of my colleagues will not understand it, and will fall further and further behind. Young developers are energized. The older developers, happy with what they already know, are completely unprepared and and not motivated to produce excellence on new platforms. That's a mistake.

They have no clue the goodness that's only available by going native. The users are showing off their devices for what they CAN do. Cross-platform apps create nothing but yawns. Then they get deleted. Just getting on the iPhone does not equal success.

Every day, the call for HTML 5 and iPad-compatible web experiences hits home. Example 1. Example 2. Example 3. Clearly, developers are not in control. The users are. This is the transition from web to device. Flash is not going to be the singular technology for both. It's not even going to hold onto web forever. We develop forward, or we develop backward. Apple has decided that on their devices, you CAN'T develop backward. I'm quite sure they will be rewarded by the public. The users don't care if developer's are afraid for their livelihoods. They want to be wooed and wow'd. It's adapt or die. Is someone at Adobe getting this? HTML 5 tools are where the money is. It's not Flash.

Moving Forward Is Inevitable

Every major step forward was done with great resistance and great reward. Here we are. This is it. If you are afraid or angry, you need to wake up, and get to work. Young developers do not have your baggage, and they will smoke you. Personally, I'm incredibly fortunate to have made the choice to move on. I'm riding the wave, and it's a lot of work. But as far as my career, opportunity and the rewards, I'm in the right place. I'm happy. You can ride the wave or get crushed. So start swimming!




Wednesday, April 14, 2010

The Apple vs. Adobe on iPhone controversy: What Now?

Apple and Adobe. My two favorite technology companies by far. I simply love them both. But there's a spat in this family, and when that happens, you don't want to alienate anyone or take sides, and make the rift bigger than it is. This is not fun for me. But I have to say something about where I think we should go from here, and it has a lot to do with perspective.

Adobe's content developers pay the bills
We developers want a "write once, run anywhere" investment of our time. (Java anyone?) The performance is a secondary concern we can get to next rev -- maybe. We can accept the compromises of a lowest common denominator of "It's good enough." Apple's App Store is a cash cow, and Adobe wants to provide a way to make them money. This is good.

Apple's content consumers pay the bills
As a consumer, I care about my personal experience on my personal device. I don't care about the developer. I don't care what phone the other guy has in his pocket. Apple has made their entire business model about the customer. When the Telcom guys were literally laughing in their face, they did the iPhone anyway, focusing on making people happy. It should be no surprise that Apple keeps control so they can fix bugs themselves, and keep the user experience as close to magic as possible. This has worked! This is very good.

Monetization makes today different!
Touchscreens, smartphones and tablets are not new. Apple has succeeded by making the experience fantastic, and setting up the monetization around making things easy. That dedication to the user experience is why Apple wasn't just another failure. The iPhone / iPod Touch user has long experienced magic. As emotional as that is, it's the key to discretional money. And let's be honest, is Android doing well because it's "open" or because many people hate AT&T? Or Apple? C'mon.....you can say it. We all know.

How does all the new Adobe technology stack up?
I have the CS5 beta, and made apps. I have downloaded other Flash apps from the App Store. I have seen the Flash Player 10.1 demos and videos. What's the seat-of-the-pants, emotional impression, after many hours of repetitive usage? It breaks my heart to write it, but....

This is definitely not magical.

My eyes and gut are constantly telling me it's a step down. It's clearly and painfully choppy. One Flash-generated app on the store has a list of buttons that is clearly NOT from a standard TableView component. It doesn't act the same, it's not tactile, it looks and feels cheap. Yet it's attempting to mimic the same thing, like a bad Elvis impersonator. Regardless of public statements from Adobe people about the great performance, it's simply not true. It's very poor.

It's not just me. I never "show off" the Flash-generated apps to my friends. These are samples of "no magic" and "I'd delete that for sure" apps. I use them for precise side-by-side comparisons. We all see the same thing. Flash gets trounced. Not exactly a rousing endorsement.

How can we move on?
Adobe, please bite the bullet and optimize with Cocoa, and embrace 64-bit on your Apple products. It's been eight years of digging in your heals on Carbon. That's long enough.

You're invited to the Apple iPhone party if you dress up! The camel nose under the tent will definitely get you thrown out. I don't care if the party next door doesn't have a dress code. I'm sorry Uncle Steve insulted you. Get dressed and he will probably give you a hug. Don't embarrass him in front of his friends.

Here's the deal. I consider my Mac and iPhone as first class citizens, which deserve a lot more than a slower second class port or middle layer. The efforts in CS5, writing for Cocoa, embracing 64-bit, have been a breath of fresh air, and you've performed masterfully. Lots of love for that! Here's a quote about Photoshop CS4 vs. CS5 on Mac:

"The lack of 64-bit support in the CS4 version of Photoshop for Mac was a major blunder by Adobe.

The addition of 64-bit support indicates that Adobe has finally decided to abandon the older Carbon-based code that CS4 and earlier versions of Photoshop were based on, and move on to Cocoa, a more modern programming platform. Adobe is already using Cocoa in Lightroom 2 and other 64-bit aware applications for the Mac." - Tom Nelson

With Photoshop CS5 seeing performance gains up to 59% with Cocoa...why is it "not needed" for Flash?

Some people in the Adobe building have figured it out. Not the Flash Player side of the building, and not the Ivory Tower. I do not understand how management at Adobe can make a stand that second class performance on a first class product is acceptable, because of all the second class products they want to support. What advantage is multi-device if all of them combined don't me make any money?

To Apple, keep producing magic, stay focused on YOUR consumer. The one who is spending their money on YOUR products. As a developer, I promise to obey the rules, make first class apps, and collect the money I wouldn't have gotten otherwise. Please deposit into this account.

Conclusion: You need Cocoa to get the magic on an Apple OS
iPhone, iPad, are great products. They are magical. They sell. We love them. Photoshop CS5 is definitely magic, it will sell, and be loved. The goal is not second class everywhere, it's first class where the money is. Adobe doesn't have to leave the building to see how true that is. Adobe is doing a lot of things right. Whats happening with Flash and Apple is not one of them.


Saturday, March 28, 2009

Photoshop CS4 scanning from a Canon Canoscan N670U in OS X Leopard

Why blog about this? Because it was painful, that's why. After many attempts, I finally got this to work. Here's how:
  1. Install Canoscan Toolbox X - This seems odd, but trust me.
  2. Install OS X driver (ScanGear CS 7.0X) - Choose the place to install as (Username)/Applications/Canoscan Toolbox 4.1/Plug-ins. The filename is ScanGear CS 7.0X.bin. You'll have to reboot.
  3. Run Canoscan Toolbox - Choose your desired scan options.
  4. Set Photoshop Location - You have to literally drill down into the application contents package (Username)/Applications/Adobe/Photoshop CS4/Contents/MacOS/Adobe Photoshop CS4.
  5. Scan. It will launch and load in Photoshop
Note to Canon: Hire some serious Apple programmers. Someone who is not doing Carbon-based programs. I know this is an older scanner, but I'm screwed once we get to Snow Leopard without a little help!

Friday, March 20, 2009

Book Review: Beginning iPhone Development: Exploring the iPhone SDK

This is the most enjoyable computer book I have ever read. That is not a typo, it's not an exaggeration. I have read more computer books than I can count, spanning decades. I have not had a more fun, immersive, reasonably comprehensive, easy to understand, software development book. This book has taken longer for me to review than any other I can remember. Learning a new platform can be challenging, but with this book, it was incredibly enjoyable. If you are getting started with iPhone/iTouch programming, and you are looking for a book, this one is easily at the top of the list. Start here first, you won't regret it. Beginning iPhone Development: Exploring the iPhone SDK is outstanding in every way.

So why is this book so great?
The journey is rich. This book has a very clear purpose, to get you up and running with the iPhone SDK quickly and competently. It succeeds masterfully. If you're coming from the outside, with no Objective-C or Mac experience, you have a lot to learn. You have a new platform, new language, new development tools, new APIs, new GUI expectations, and (if you are so lucky) a new Mac. With all those challenges, I cannot be more impressed with how well this book handles that potential scenario without losing any focus or trying to do too much.

This book never gets distracted. It has incredible flow. It doesn't waste time. There is so much to try and explore and understand in these pages, that you just get caught up in it. I have read a lot of books that whole chapters were just fluffy, or there to simply cover the territory. You can skim through the chapter without feeling any sense of loss. This book isn't like that at all. I found I couldn't breeze through this book. I was having too much fun.

Comprehension is the key
It's easy to go over some basic concepts, and apply them with some examples. I've read lots of really good books that have done that. If you're going to really become skilled, you have to have some comprehension of what is going on and why. While it wold be easy to just blaze through all the templates, like a TabBar application, this book has you build things yourself. This way you get to understand what is connected to what, and why. I think this is a critical benefit. I think its more important in the long term to understand what is going on, rather than a how-to of project templates.

MVC and Interface Builder
In order to do any Cocoa programming well, you need to embrace the model-view-controller pattern (MVC). This book does an outstanding job of connecting the objects, where, when, and why. After you get through a couple of chapters, this gets easy, and puts you in a positive work flow. I've found in learning Objective-C and Cocoa, that the better you embrace this, the better off you'll be.

If you are a sloppy, Microsoft Windows kinda programmer, you are in for a rude awakening. Mac-based development requires a high level of discipline and quality just to get successful compiling. As for myself, I completely love it. I enjoy the discipline, and I'm rewarded with performance and stability. This book reinforces everything I love about Mac programming in general, as well as letting me extend it to a new platform. This book keeps you on the right track, out of trouble, and doesn't let you go astray.

Covering the SDK territory
One of the strengths of this book is how much of the SDK is covered. You would expect a lot less from a "beginning" book. This book is for someone who is beginning, so the title is appropriate. But the reward is how MUCH of a beginning you get from this book. It's like a collection of goodies being handed to you one at a time, and they just keep coming.

I really appreciated that there was a chapter on Quartz and OpenGL ES. The coverage of the multitouch architecture was well written. I was just engulfed with fun things to test, and it was easy to absorb. Core Location was covered, which gives you all kinds of creative ideas about using the GPS in the iPhone 3G. The Accelerometer chapter is one of the best parts of the book. It also covers the camera, which is another item that relates to the iPhone, but not the iTouch.

Comparisons
The part that was lacking, compared to other iPhone books, is not covering video and audio. But it more than makes up for it in its coverage of localization. With the iPhone in 80 countries now, it's best to have that understood from your first iPhone app. I'm also glad it didn't waste my time talking about web apps for iPhone. The mood of the book is not intimidating, which can happen in computer books in general. The prose never gets "nerdy."

Another comparison I want to make is to the expensive iPhone camps and webinars. Personally, I felt I got a much better experience from this book than the online seminars I've been in. The value of this book in comparison is amazing. If you want to do a seminar, great, but bring this book with you.

Conclusion
The strength in Beginning iPhone Development: Exploring the iPhone SDK is how well it covers the SDK from a dead start. It gets you doing good habits now for those things you NEED to know now. This book has style and substance. It's wonderful, polished, and relaxed. I would compare this book to Girardelli premium chocolate squares. It's a great experience, that makes you happy, that you can't scarf down, that you simply enjoy slowly because it's so rich. For beginning iPhone development, you could not ask for a better book than this one.

Friday, January 9, 2009

New Splore.org webste goes live


For those who know us, we have been doing a lot of programs with Splore.org. They are a non-profit that organizes (mostly) outdoor adventures for people with disabilities. I've been helping their staff go through a redesign of their website, and incorporating their new logo. I'm happy to say that it's done now. Well, at least this phase, as websites are always evolving.

For webmasters, it is a rigid example of CSS and SEO that works cross-browser. There are a lot of Flash galleries and videos to go around. For everyone else, it's more organized, more exciting, more maps, required documents easily found, more everything. Except for clicking, there's less of that, less hunting for all the materials you need to do a program. Special thanks to Steve Powell and Patrick Tokarski for putting up with me.

Splore.org is a great organization, with great people. Aaron, Debbie and I were awarded their Splore Spirit Participant of the Year Award for 2008. We were presented the award during the Harvest Moon Auction and Dinner, and got a very nice plaque, which is proudly displayed in Aaron's room. He earned it.

Saturday, November 29, 2008

Honda and Suzuki snub American motorcycle race fans in 2009


Two of the "Big Four" Japanese motorcycle manufacturers have committed to a motorcycle racing season next year with no American riders on factory teams. Honda and Suzuki are taking a gamble that American race fans who ride Hondas and Suzukis will be content to cheer for ..... no one. At least no one from America. I think it is a mistake to take a publicity dive in the world's largest motorcycle market. American racers sell bikes in America. In 2009, the cheering and the sales in America will be around Ducati, Yamaha, and Kawasaki. Regardless of who wins the races next year, Honda and Suzuki are losers. Here's why.

America motorcycle dealers will have no excitement about their riders.
Imagine yourself next spring, talking with your local dealer about racing, saying, "I'm rooting for (insert rider name) this year." If you are a Honda or Suzuki dealer, the names they will mention will not be riding your bikes. No posters of Americans, no rider helmet paint schemes, no public face, literally nothing that represents "American Honda." Zip, nada. "American Suzuki" has (drum roll) Tommy Hayden. I love Tommy, but as an American, I'm not feeling the love.

In sharp contrast, Ducati dealers are literally sqealing with glee to get Nicky Hayden associated with their brand. They are going to sell bikes, and I suspect, a ton of merchandise. The better he does, the more they will sell. Yamaha still has Edwards, Ben Spies in World Superbike, and if American superbike gets sorted, they will have Americans there too. They are covered. Kawasaki has Hopper, Hacking, and Roger Lee Hayden. Covered. Lots of buzz and smiles at those dealers, feeling the love.

America media will have no excitement about their riders.
When local media covers the GPs at Indy and Laguna Seca next year, they will be drumming up the American riders and their chances. Do you think Honda and Suzuki will even get a mention? I seriously doubt it. No tv interviews, no serious ink. Although Honda has a great potential for more bad press, as it did at this year's Indy event. The void of charisma in the Honda and Suzuki garages is absolutely staggering.

Honda and the Spanish Mafia
The press has had a field day with Honda's generally accepted mistreatment of Nicky Hayden. The negative press around Alberto Puig and Dani Pedrosa is embarrassing. Honda wants to win, at all costs. Repsol, the Spanish oil Company is their major sponsor. Dorna, a Spanish media corporation, controls the series rules and media distribution. I don't know of a single American that is rooting for Pedrosa. Even if Pedrosa does win the championship, it will always be tainted in the eyes of American race fans. Honda has shown us that it actually is possible to use racing to reduce sales in your best market. (That's not a compliment.)

Suzuki embraces GP mediocrity
Suzuki had a promising young American rider named Ben Spies, poised to be the next Kevin Schwantz (at least a prayer anyway). So Spies was asking for too much money, so what. Try to actually get a rider who has the potential to win you a championship. There is literally no chance that Caporossi or Vermeulen will become GP world champion. There is no plan for the future. Why bother running the bikes at all? As bad as 2008 was for Suzuki, I expect 2009 to be worse.

Your last premiere class GP world champion rider was from.....America!
Honda's last champion: Nicky Hayden. Instead of supporting your champion, you built your next bike around your second rider. This is the same rider who took out his own teammate, and almost threw away the championship. This does not make sense.

Suzuki's last champion: Kenny Roberts Junior. The one before that: Kevin Schwantz. Those were great days, weren't they? I bet they sold bikes too!

Your last AMA Superbike champion rider was from.....America!
Honda's last champion: Nicky Hayden. So, you took him to Europe to give the GPs a try. Result? A world championship that you didn't even appreciate. Duhamel and Hodgson aren't winning races. Your efforts in America have pretty much imploded.

Suzuki's last champion: Ben Spies, three straight years, selling bikes, screaming potential for GPs. He's riding for Yamaha next year. I'll bet it's not much more, maybe less, than he was paid in 2008. The hope is gone now.

Respect
Get some! Honda has put all it's effort into a Spanish rider that American race fans openly booed at Indy. Suzuki took the one rider they had who had a remote possibility of becoming GP world champion, and left him out in the cold. Alienating American race fans is not good for business. American Honda and American Suzuki had better wake up and do something in 2010. Their 2009 is going to be a long, boring, lonely year.

Update 2009: Honda has announced that they are pulling out of the AMA altogether for 2009. The recession is hitting hard. Ben Spies and Nicky Hayden are doing good times in off-season testing.

Sunday, November 23, 2008

Apple and the new MacBook Pro are awesome!

I have now had a MacBook Pro for a month, and I'm really impressed. Fortunately, my work bought it, stacked with 4GB of memory. I'm programming in Objective-C now. Anyway, by sheer hardware, it's impressive. The unibody is simply gorgeous. The new placement of the connectors and the SuperDrive is very clean.

After using it a while, the biggest deal has become the new trackpad. It's bigger as far as space, and the whole area is a button. The is so much nicer and e4asier than any other trackpad I've used. It is more sensitive to touch, and just acts smarter. When you're clicking and moving all day, evrything that makes that easier is appreciated.

I've been programming for, and using, Windows PCs most of my career. But I have to say I enjoy the Mac far more. Programming with XTools is a joy, though not perfect, it's as good as Visual Studio ever was. It also forces the programmer into MVC programming. This is a good thing. It's practically impossible to do "bad" programming. This explains part of the reason why Mac "just works." It's not a fluke, it's not just the hardware, though that is a major factor. In Windows-based tools, it's outrageously easy to get sloppy. In Mac, it's incredibly hard. That's not something I hear regarding Mac vs. Windows. It deserves to be a biger part of the conversation.

The last thing I want to mention is the intangible -- less stress. I find myself doing fewer steps, fewer clicks, more stability, more speed. These are little thingts that simply add up every day. I had no idea how much more work was doing inside Windows. My wife has had a MacBook Pro for a full year, and I have not rebuilt her machine once. That was something I did at least twice a year. The only time she has problems is when she's running something in Windows/Parallels. Again, it's just something I notice.

My wife has found it amusing that I have become "Mac happy." Guilty as charged. I have more reasons than most typical users to be that way. Yes, Apple products are shiny, cool, and age very well. Nut make no mistake, there is competency there, a lot of it. Considering the freefall of Microsoft into incompetence and denial, the contrast couldn't be more stark right now. I have beenj converted, and I'm not going back anytime soon. Great job, Apple!