Friday, September 9, 2011

My blog has moved!

I've moved my posts to www.colejoplin.com. Sorry for the inconvenience.

Monday, May 10, 2010

Why Flash Apps Should Not Be On The App Store

Have you noticed that in the Apple Store, there is not a bargain bin of unwanted software?


Of course not! Apple is promoting it's identity as a high quality boutique. The danger of allowing Flash developers to literally explode the App Store and flood it with bad apps was very real. It's hard enough today to read 3 or 4 different apps and the reviews, and make a purchase. If overnight, there were an additional dozen or so bad apps, for the same thing, the frustration level would also explode.


If customer choice means tons of bad choices....no thanks, I'll pass.


This notion that freedom and choice are at stake is completely ludicrous. Imagine a Presidential debate where all the candidates from every fringe party got equal time. It would be a complete waste, because you'd only be listening to a very small fraction of the debate.


The App Store would suffer a "Flash Tax"...and die

People would soon tire of spending $5-$10 weeding through bad apps just to find a good one. Flash developers, oblivious to what is happening, would see sales and produce vastly more junk. The user would blame Apple. The quality of the App Store would plummet very quickly. The iPhone/App Store ecosystem would slowly collapse. Journalists would write post-mortems about how Flash killed the App Store. If you think things are bad now between Adobe and Apple, just image the aftermath of that.


Conclusion: Apple did the right thing.

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.