23/10/2007

Apple and Big Picture Strategy

I was sitting there watching Steve Jobs help push one of the biggest Software evolutions in history: The Web Application.

I sat there distraught, thinking, SNAP DANG, my blackberry's browser sucks. My Nokia browser sucks. I quickly installed Opera Mini 4 beta and hit the net on my mobile device. I jumped onto the iPhone Facebook site, logged in on my Blackberry Pearl and started poking around.

Just about then this thought came racing through my mind so I logged onto the iPhone Facebook site on my desktop PC. I was stoked. It worked in both places. Stupid me, of course it worked in both places. So then I started thinking, I wonder if I could use this on a Mac? I don't have a Mac, but I'm sure I could.

Then, this random stream of thought flew through my head: What if Apple is only going to allow a web (Safari) SDK to develop for the iPhone? What if they never release a stand alone SDK for the iPhone?

Well, first, this would probably mean that every application you'd run on the iPhone would be web based... well ah dah. Then I thought, I wonder if they will allow web plugins to run - What if I could run Flash on the iPhone? Then I could create a real RIA with full graphics capability, and use the Safari API's to access the cell features. I loved it.

Then I started thinking, SNAP DARN (Actually, it was more like, I wonder how I could use this for business??). Then I stopped. It slammed me straight in the forehead with no less ferocity than a four by four being slammed into the scull. I could use this for business, infact, I could use this phone for more business features than my Blackberry or my Nokia. And, I could do this all from within the Safari browser. I could not only log into my Intranet, I could follow links from my intranet into my Web Based business applications. So there I was looking at a nice high color graph in Safari thinking: "I can't believe people don't think this will fly in the corporate world".

Then it dawned on me. Apple does not have a very strong foot hold in corporate - in mobile, or desktop. A major issue for Apple was that none of the stand alone software would run on the Mac platform. Well, then came Windows Virtualization on the Mac. That solved the problem nicely, but it still doesn't help Apple. Why should Apple require virtualization to run business applications on their platform? Sure they can still sell more licenses! But why should Apple have Windows virtualization? This has to be helping their single largest competitor maintain it's foothold - and further, allows developers to continue to build applications for the Windows Environment - something they were already skilled and trained to do.

For Apple to grow in corporate, and consumer markets they needed to be able to leverage all the existing hot technologies out there - especially web based applications which nominalize the desktop Operating System. Further, Apple is branching out with it's other devices and including web browsing over WiFi and everything is based on the Safari browser.

So my theory was that Apple could gain a stronger foothold in the corporate market by forcing developers of the iPhone to develop mobile web interfaces. The back ends for these mobile apps would be leveraged against the desktop app (most likely the other way around). So Apple can easily and quickly have people build services for their devices - and easily extend web based business applications to the iPhone.

Further, if Apple can contribute toward the perception that all software will be web based ASAP then they can expiditiously eliminate problems where software will not run on the Apple Desktop.

So yesterday Apple announced they will be opening the iPhone to third party developers. Does this undermine their support of web applications being the future now? Will this negatively affect Apple's ability to reach corporate markets? Is Apple limiting itself to the consumer market? You tell me!

Learning, Storing, and Recalling Information

I was sitting around the house on Saturday night and had a 3 hour conversation about how we learn, store, and recall information in our brains (I must be a nerd). What irony in getting this quote this morning.
“I consider that a man's brain originally is like a little empty attic, and you have to stock it with such furniture as you choose. A fool takes in all the lumber of every sort that he comes across, so that the knowledge which might be useful to him gets crowded out, or at best is jumbled up with a lot of other things, so that he has a difficulty in laying his hands upon it. Now the skilful workman is very careful indeed as to what he takes into his brain-attic. He will have nothing but the tools which may help him in doing his work, but of these he has a large assortment, and all in the most perfect order. It is a mistake to think that that little room has elastic walls and can distend to any extent. Depend upon it - there comes a time when for every addition of knowledge you forget something that you knew before. It is of the highest importance, therefore, not to have useless facts elbowing out the useful ones.”
The above quote appeared in my inbasket, a blog entry from the President of the company I'm consulting for (he was quoting Sir Arthur Conan Doyle's A Study in Scarlett).

My point was that if you do not have a specific perspective when you learn something, that you will never be able to store that information in a manner that is useful to recall the information later. Further, without the ability to draw relations in the information you decide to store in an organized fashion in your brain – you lose creativity – you lose innovation – you lose the ability to visualize the totality – and focus on the specifics rather than the big picture.

Specifics are important in developing a perspective of clarity of the parts. But, understanding the big picture is potentially more important – to see which specifics are in ‘big bold font’ – or where the specific emphasis lies in your ‘business’ (EX// the classic Coke recipe change-up).

Continuous Improvement has nearly become a staple in Modern Information Businesses. If it’s not broke than fix it mentalities. I’m with you 100% there.

When you refer to tools below, and imply that with the increased availability and accuracy of this toolage, we will be able to strive for new levels of innovation / creativity / accuracy – I believe you may be implying that if we free our brains of the “useless facts elbowing out the useful ones” VIA toolage, we will be able to achieve more true Eureka moments. This is truly a dichotomy, whereby we must be careful that the toolage we employ doesn’t undermine the creative / innovative part of our thoughts. Such that we are not too closely tied to the specifics, or abstracted from the intent, such that we understand the purpose of what we are doing, and how that purpose fits into the greater scheme of what the business is doing.

For example, an employee performs analysis on a set of figures. The fact that the employee must repeat the same sequence of steps leads the employee toward innovation – and that employee may suggest a creative solution to this repetition (seeks to cut Noise, Confusion, Distraction). It is the repetition, noise, confusion, and distraction - with the perspective to understand the purpose of the task - that may lead the employee toward implementing a specific software tool to streamline his problem. However, in implementing this software tool the employee now stands to inherit a different set of repetitious tasks. The downside to this is that the employee is now lead in a different direction to innovate / create. They now see their problem as being: “I have to tab too many times through the user interface”.

I ask, where is the true Eureka moment here? Was it before the toolage was implemented or after? I’d suggest it was before – when they were closer to the numbers, and dealt with noise, confusion, and distraction – when they knew how the calculations were performed – when they understood how the specifics, fit in to achieve the big picture goal. The noise makes them smarter, allows them to process and store information with a specific perspective. And in doing this they draw a relation to a software app, they found Eureka.

I’ve seen too many times in too many businesses, software solutions being implemented that actually degrade the overall intelligence of the business – because they are idiot proof and repetitive. Users have a tendency to merely follow the steps, rather than truly understand why they are performing the steps. It’s not to be underestimated that knowledge is the sum of what we know, and what we can acquire, and that tools may aid us in focusing on what we can improve next – BUT - too frequently tools aid us in what we can acquire. In doing this, we lose the information we’ve stored in our brain with a specific perspective, and lose the ability to draw those relationships in our head that lead to the truly innovative leapfrog type of change you are talking about; where we stand up and shout EUREKA!!!

My question then becomes, how do we manage EUREKA moments, such that we can become more intelligent, all the while improving the efficiencies / effectiveness of our process, in employing these new information tools?

Anyway, I felt that I’d share these idea’s / opinions with you. Hope you can take it with a bit of a grain of salt mixed with a grain of philosophy! Regardless, I thought it would be nice to get some feedback. Interesting text!

Over And Out

11/10/2007

What is the best Offline JavaScript Library?

Dudes and Dudettes,

I'm writing to ask which JavaScript library is best suited to bring a web application Offline.

Here are the limitations of my question:

1) I don't want a library that objectifies my JavaScript objects (EX// I don't want to use prototype).

2) I want to use a library that is web standards compliant (EX// I don't want to use Flash, Apollo).

3) I want to use a library that is abstracted from server architecture (EX// I'd prefer to develop a 100% JavaScript interface that merely calls XML services on the server for data).

To my knowledge there are a couple options on the market and I guess I'm asking for your input:

1) Google Gears
2) Dojo Offline Toolkit
3) ???

Let me know your opinions!

Over and Out