Today is a good day to code

iOS 6 is Going to be Lame … But Apple’s Competition Should be Deeply Afraid

Posted: June 15th, 2012 | Author: | Filed under: Apple, Companies, Google, Microsoft | Tags: , , , , , | 1 Comment »

The surprises everyone was waiting for from the Apple’s WWDC keynote never arrived. Instead, we got a handful of evolutionary features added to generally excellent software, and an amazing piece of hardware. I was actually yawning while following the liveblog. That fact should have the entire tech industry shaking and quaking. That boring keynote just put everyone on notice, but they may not realize it yet.

Apple has done this before. A few years before the launch of the iPhone, the iPod, iMac, and Mac OS X went through a period of minor updates, feature and spec bumps. All of these products never became any less incredible, but Apple wasn’t doing anything exciting.

We know now that Apple had a light guard working on continuing to bump aspects of their main product lines, while the majority of the engineers were toiling deep into the night to build iOS and all of the apps that we all know and love that launched on that device, namely mobile Safari.

It took them several years, while they were consolidating their dominance of the PMP market to completely disrupt everything we consider true about mobile computing. That is not to say that the products they launched in the interregnum weren’t great. The iPod nano launched among other things, but I remember thinking along similar lines as others, is this all you’ve got Apple?

The answer today was obviously, No. They had much more, and knew it.

We are seeing the same general stagnation today. It makes you wonder, what the hell are they doing in there? There is really no way to know, but when it is ready I would expect no less disruption than we saw when the iPhone came out.  Apple has maybe 14,000 engineers, do you really think that all of them are working on iOS 6, Mountain Lion, or trying to make the MacBook Pro thinner?

Apple takes their time, so it could be six months, or it could be three years. If I were a competitor of Apples, I’d be getting ready to be disrupted.

I’d think bigger than a television set Apple has already made personal content consumption more prevalent than group consumption.

Sitting around the TV and watching a movie rarely happens anymore. Everyone in the family, each watches whatever they want on their phone, iPad, or laptop.  Apple’s next great breakthrough doesn’t even have to be strictly media or tech. Perhaps it will be the iCar,  some sort of iAutomation for your house, the iHome, who knows.  Perhaps their plan is to start building luxury apartment buildings in San Francisco.  Making spartan, but delightfully, designed homes built out of glass and aluminium.


Dr. Strangephone or: How I Learned to Stop Worrying and Love Windows Phone

Posted: May 30th, 2012 | Author: | Filed under: android, Apple, Companies, Facebook, Google, Microsoft, Verizon | Tags: , , , , , , | No Comments »

Lumia 900 Live Tiles Flat

This weekend I switched back, once again, to Windows Phone from my ICS packing Galaxy Nexus.  Previously, I had switched to Windows Phone from my Froyo ( can you believe this phone was launched in the US with Froyo? ) Infuse 4G.  I seem to always switch away from Android eventually, and I haven’t been sure why, until now.  This is not meant to be an Android hate fest, I don’t want to say I hate iOS, and I don’t hate any OS.  I am a huge fan of iOS and Android, nor am I a fanboy of any camp ( any more ).

I think that Android is an excellent implementation of  the vision for which it was designed.  iOS was the first and is still the leader in its category. Both of which are largely cut from the same cloth.  Who copied whom, I’ll leave for history to decide.  For the my purposes, however I am happier with Windows Phone, and I have finally figured out why.

Windows Phone is Designed Around Use Cases

As I was transitioning between my various Android handsets, my iPad, and my new Lumia 900, I kept thinking about what it was in Windows Phone that kept causing me to want to use it.  The browser is merely sufficient, the hardware is technically behind the curve ( while the phone hardware as a package is superlative, hats off Nokia ), and the OS is, well… different.  One of the core things, which was immediately apparent, was that it didn’t take long for me to get to what I wanted to do with the Lumia from the live tile home screen.

I don’t subscribe to the “Smoked by Windows Phone” campaign, I think that was stupid and wrong.  Android is typically faster in specific areas, like time to app launch, etc… iOS smokes both of them in scrolling and touch screen responsiveness as well as time to app readiness on the newer iPad2/3 and iPhone 4S.  Windows Phone’s speech to text is great, but not comprehensive;  Android’s speech to text is better than Windows Phones, Siri’s voice recognition is marginally better than Androids, if only because of her witty retorts.

Despite all of the shortcomings I have just described, I still prefer Windows Phone.  For a few months, after I started with Windows Phone 7 on my Focus S, I started to think something was wrong with me for liking it.  Maybe I was a “feature phone” kind of guy after all.  The tech media kept telling me that Android and iOS are better because of their broader app selection, more sophisticated chips, hardware, etc… I could readily agree with this assessment, after all, Windows Phone doesn’t have NBA Jam, or Angry Birds Space.  The more I thought about it however, as far as I am concerned, I prefer to use my phone for communication first, and apps second.  Being presented with a grid of apps, or strange widgets, or the wrong panel of the launcher were all in the way of simple communication.

When I use Windows Phone, it is clear, I press people for communication, me for updating my social networks, phone for calls.  This simplicity, and clarity; that is what keeps drawing me back.  It isn’t that Windows Phone is faster in any way than Android and iOS, not that it is slow.  It is that each specific task that I want to do with the phone has a well defined path, is clearly encapsulated, and is a complete end-to-end experience with no cruft.  It isn’t chaotic like the Android intent system, leading me all over the place from app-to-app, it isn’t ridiculously siloed like iOS.  Things that should be combined, like Facebook and twitter are grouped together.  Games are all in the same place, and share a coherent experience that is clearly differentiated from the other flows for when I want to play games.  Music, podcasts, and audio are all together, unified in their Zune experience, which also is differentiated from the game flow, and the social flow.

Sideways Lumia 900

Android and iOS are Designed Like Desktop/Tablet OS’s

Once I began to think about use-cases, I started to see how ill fitted Android and iOS were for the phone.  I started to put devices into categories based on these use cases, to try to figure out where they go wrong.

When using my desktop / laptop, I am consciously sitting down to perform some fairly complicated task, I expect to have to make lots of decisions to perform that task, and I do not mind the complexity of the windowing system.

When using my tablet, I am typically settling down to enjoy some content, a game, a book, a fun diversionary app, or I am attempting to use a productivity app, for which I could perhaps perform the task on my desktop / laptop.  I don’t mind actions taking a little extra time on my Tablet, I am expecting to explore and engage in an experience.

My phone is different.  I am not typically trying to explore.  I am trying to find a restaurant to eat at right now, or I am looking for my friends house and I am wandering around trying to read street numbers.  I am buying something and need to compare prices.  I am trying to call someone to have a conversation.  In short, most of what I am doing with my phone is immediate I don’t want to browse.

The grid of apps, is really nice for presenting an experience, it is an invitation to browse, to wade into an entire universe of possibilities.  A bunch of apps is great for when I want to spend time looking around, like window shopping.  I don’t necessarily know what I want to do, I just want to be entertained.

I don’t really need apps on my phone, I need the workflows that are in those apps.  I need the restaurant information inside of the Zagat application, I need the directions and augmented reality that is inside of google/bing maps.  I need the social graph that is inside of Facebook to find out if my friends are busy this weekend.  I need the content of the twitter app to find out what is going on right now.  As far as exposing that, some apps for Windows Phone can do this with their live tile, for other, well designed Windows Phone apps, there is a clear use case for the application, and it brings as much content to me as it can to assist me with doing something right now.

Windows phone isn’t perfect, there are still quite a few missing use cases that I would like to see fleshed out, like the augmented reality directions, or a better workflow around photo sharing.

When you think about things in use cases, you actually start to see that the multitasking system that Windows Phone employes is correct.  It is only broken if you are looking at it as you would look at Android or iOS, or if you are comparing your mobile computing environment to one that is less mobile.  Windows Phone is better thought out than its competitors. Once you let go of the fact that you believe you want your smart phone to be just like your desktop/laptop/tablet, then everything will be fine.

So what if Windows Phone doesn’t have many quality apps, for most of the things I want to do, I am covered.  As they add apps, so much the better, I only hope that the developers think about how their users will accomplish tasks in real-time with the applications they provide, and don’t fall back on the Android and iOS way of sticking a bunch of data into a silo and expecting the user to poke around to find it.

Lumia 900 Top Third

Windows 8, in its current incarnation is half-mistake, in my opinion.  For the designers to take UI and a set of interactions that are successful for phone use cases, and apply them to a desktop OS is to turn something useful into a chaotic chimera.  I believe that Microsoft is not allowing for as much richness and complexity as the interaction patterns of a stationary computing experience should provide by implementing the Metro interface on the desktop.

In the legacy interface, they are just screwing up what was working.  It makes sense for them to take the same approach as they allowed the Windows Mobile team to take.  Think about the use cases that people are likely to encounter when they are attempting to accomplish something with their desktop/tablets.  You may not be able to unify the interfaces, it is OK.  Apple is falling into the same trap, it is leaving a massive opening for someone to do something awesome with the desktop computer…. Canonical are you listening?

Let it go, the desktop paradigm is dead.  Stop worrying about how things used to be and learn to experience Windows Phone for what it is.  A beautiful breath of fresh-air, a new way of thinking about mobile interaction.  Hopefully Microsoft doesn’t screw it up.  If their marketing is any indication, I am worried about the future.  If they leave the Windows Phone team alone, and allow them to keep doing what they are doing, things will be great.


Google Should Voluntarily Break Itself Up AT&T Style

Posted: January 21st, 2012 | Author: | Filed under: AT&T, Companies, Facebook, Google, Management, Microsoft, Twitter | Tags: , , , , , , , , | No Comments »

The Bell Telephone system courtesy of thephonebooth.com

When Google added world plus social, at first I didn’t think there was much of a problem. I understood that since Twitter and Facebook limit the ways in which Google interacted with them, it wasn’t really possible for Google to offer truly social search. This cabal between Facebook and Twitter is quite obviously hugely damaging to Google’s future interests as a company. So I also supported the need for Google Plus.

However, as I have been thinking about it, most companies in the past have gotten into trouble, become anti-competitive, or foes of the free market under the banner of simply looking out for their business interests in responding to a threat. Inside most potential monopolies, the issue that crops up after smashing a formidable challenge is when to stop.

Google is promoting G+ as the bulk of its social search, G+ is completely unavoidable as you are using the search engine. This puts Facebook and Twitter at something of a disadvantage. They also promote YouTube in a similar in-your-face manner, putting Vimeo and other web video companies at a disadvantage.

It isn’t hard to imagine a world in which startups don’t even look at web video because YouTube is un-assailable. Similarly one could imagine, though it is more of a stretch, that eventually Facebook and Twitter would whither and die at the hands of Google Plus since there is really only one search engine, and the entire world uses it. That world would be ridiculously anti-competitive, and no one, including Google really wants to see that.

I believe that if Google had had its just desserts, Facebook and twitter would have given it unfettered access to their data, and Google Plus would have been unnecessary. But since they didn’t G+ is more than beneficial for Google’s survival, it is essential. The same thing could be said about YouTube and Google Music in the face of iTunes.

One could argue as well that Google hasn’t been very effective of late at controlling what is going on within the company. Clearly there is a massive amount of resource contention, and a general challenge in keeping everyone on the same page, and playing for the same team. In addition, there is the kind of limited thinking that prevents the company from disrupting its own business units. Microsoft had(has) this problem, so did IBM, and so did AT&T.

AT&T, however operated like a well oiled machine, they had no problem crushing all competition and effectively responding to all challengers. Google is just as innovative as AT&T used to be, they will similarly get through their management issues, in fact I think they are very near this point. Google getting through their effectiveness issues however, is exactly what bothers me; Once they become as effective as AT&T used to be, isn’t that where the government steps in?

So what I propose instead is that Google break itself into separate businesses voluntarily. One of the main rules of business today is never to let a competitor, or government, disrupt you. It is better, and more profitable to disrupt yourself. I would suggest to Google, for this reason, that now is a good time to do it.

I would imagine that Google would become 5 corporations, split along the lines of social, media, search, mobile, and advertising. This would see Google Plus, Reader, Gmail, Google Talk and Google Docs become the Google Social business. Google docs may initially seem like a strange product to call social, but the purpose of Google Docs is to collaborate on work. That is pretty social as far as I’m concerned, in fact, it is probably the most social that people are in general.

The media business would consist of YouTube, Google Music, Google TV, and the nascent Google Games. The search business is self explanatory. Mobile would be Android, but also Motorola with the new purchase. And Google advertising would be their display, print, and television advertising business. Each company could retain a small portion of ownership of the other company that it was dependent upon. For example, Google media might maintain a 5% to 10% stake in Google social such that they can be sure that their requests are heard and honored. All of the business would have a small share of the advertising business, but the total should not add up to more than 40% so that the advertising business could remain autonomous.

The resulting companies would end up becoming far more competitive and profitable than their corresponding business units, due primarily to the need for providing open APIs to the other businesses that need their services. In the process, these businesses would make these APIs available to other startups who could build off of Google’s services as a platform, driving further profitability and end user lock in.

This would in turn surround their competitors, who are still just a simple silo, and who would begin to run into anti-trust concerns themselves. The now ridiculously nimble Google, which could be known as the Googles, would have them surrounded.

As a single entity Google is vulnerable to the same diseases which have, in the past, felled their erstwhile competitors. As multiple independent profitable companies, the Googles could remain dominant for decades. This would be better for the industry as a whole because each Google business with public APIs would provide a platform for numerous job creating profitable startups. C’mon Google, do what is right for the market, and for your business. Don’t wait for the DOJ to hold a gun to your head like AT&T. Even with the government forcing the issue with AT&T, being broken into the baby bells seems to have worked out pretty well for them.


Google Wave : Simultaneous Attack on Facebook, Twitter, Yahoo, and Microsoft

Posted: January 29th, 2010 | Author: | Filed under: Companies, Google, Microsoft | Tags: , , , , , , , | No Comments »

I have had a wave account for some time, but I never really got it.  I understood it as a communication platform and all of that, but I didn’t really understand what was in it for google.  Then I thought a bit more about it and I remember something that Yahoo! said a long time ago, “email is the social network.”  That didn’t make sense to me at all, until now.

Most people use email for a large chunk of their interaction with other people.  By Yahoo! saying that email is the social network, they were indicating that most of what Facebook does is overglorified email.  People typically, pre – facebook would share photos, music, and videos over email.  The biggest complaint was that email didn’t allow them to have large enough attachments.  Enter youtube and flickr.  They allowed people to embed links to larger content and then email them.

Enter Facebook.  Facebook allowed people to be able to control who could see what.  It allowed for semi-private posting, plus all of the features of youtube and flicker with email.  It became the ultimate communication platform.  Once apps was created, it was over, runaway success.

Google initially tried to build a social network with Orcut, but that really wasn’t going to have the traction that Facebook had obtained.  Google wisely stopped pushing that.  When wave was announced, I thought that it was aimed specifically at outlook in the enterprise, and maybe some minor aspects of personal communication, but nothing significant.  However, with their plugin system, and its federated nature, it starts to pretty much become a better facebook than facebook.

The first aspect of Google’s attack on Facebook with Wave is that it is private by default.  Waves are only available to specific people or groups that you explicitly choose.  You have a wave status that you can update, you can attach pretty large files or URIs, or even embed some content into the wave… There is commenting.  It really feels like a social network, and the plugins are just genius.  This will eventually challenge facebook since anyone can run a wave server.  It also tackles Ning, and pretty much any other social network out there.  All it takes is for Google to flip a switch to give users the option to produce a public wave, or a wave that all your contacts can see, and it starts seriously eyeing content management systems.

It attacks Twitter in that it is immediate, and it is optional.  I can follow or unfollow waves as I wish, so I can jump in and out of conversations.  Something that I have desperately wanted for some time, this is what makes Twitter and Yammer awesome.  That I don’t always have to pay attention to them, email is too immediate, and there is always important stuff mixed up with unimportant stuff.  Wave lets me discriminate.  Wave will always scale better, and have more history, therefore more data mining value than Twitter.  It is federated, and peered from what I understand of the spec, and therefore should be more resilient than anything a single company, save Google could build.  Also since it is an open standard, more people should get behind it.  If I were Twitter, I would be looking at how I could merge my service with the standard.

Wave destroys Yahoo mail, period.  I would imagine that Yahoo has something up their sleeve since they killed 360, but they are hurting so badly for cash right now that I’m not sure.  I think that a federated wave could hurt a lot of web email providers.

Finally, Microsoft.  Exchange has hammered everyone for a decade with its expensive licensing and limited feature set.  Wave easily destroys it on features and usability.  Hopefully Google will unleash Wave into Google Docs, and the enterprise Google Docs.  I think that savvy IT managers and most of the engineers will jump nearly immediately.  This will be mostly the end of Yammer if it happens.  Although I think Twitter and Yammer have features that wave is missing, the standards body could just add them, everyone could implement their UI for the features and be done with it.  Microsoft exchange and outlook never really understood why anyone would need additional features and media types, so I don’t expect for it to live long past the wave proper launch with enterprise wave server and client providers.  The costs would be so cheap that it would be difficult for them not to look at it.  Especially since most enterprises are still running very old version of Exchange.

Microsoft has such a tarnished reputation in enterprise now that most people have to seriously look at whether to upgrade to the latest Microsoft thing or not.  Mostly they trial it for extremely long periods before committing the updates to the masses.  Since waves can persist, this can even replace sharepoint, and it does it with a metaphor that people are very comfortable with… email.


The Post Free Era and What it Means to Google

Posted: September 16th, 2009 | Author: | Filed under: Companies, Google, Media | Tags: , , , , , , | No Comments »

For the past few months I have actively quested against using anything that is free, asking difficult questions of the product, and often choosing a paid alternative when the answers were not forthright enough, and I have been noticing similar tension on twitter, and the other social media places that I haunt, as well as casual encounters with friends and family. Why have I have been trying to move off of the free ecosystem? What reason could there possible be? I mean who doesn’t want stuff for free? Well, that answer is complicated, to fully understand it, I think we have to look at some of the things that the “free” ecosystem has brought us.

The first, and most significant negative thing that the expectation of free software and services has brought to us is a huge proliferation of spyware and malware. There are a few reasons that the amount of spyware and malware increased dramatically around the time that software became available for free. It is largely a consequence of the law of unintended consequences. First, fast internet became widely available at costs that are reasonable. In fact, for a while ISPs played around with having a free price point, but that faded away quickly as capital intensive enterprises are incompatible with the gift economy.

The next is a series of unsustainable business models driven by advertising with ever declining value delivered to the sponsoring companies due to consumers being advertised out. This in turn has driven to many choosing not to consume content at all, or destroying once vibrant businesses such as newspapers, music, and movies. What is the answer to the decline, to increase the ads of course, to make up for a clear down trend with increasing the volume and driving down margins while lowering the quality of the product to keep the same profitability. Does this sound familiar, it should, its the same thing that happened in the housing market to continue an unsustainable business model. Instead of innovating out of the crises, the advertising companies are clinging stupidly to the old systems.

Once fast internet became widely available, the GNU / GPL driven software model with distributed version control systems became possible. Now people were able to collaborate on software, in countries where labor costs were cheaper, driving the price of development down in general for large projects. The GPL began with a powerful intent, to make software, and its source code available to facilitate learning and improve the quality of all software. It has largely achieved this end, however it got end users used to being able to download high quality software for free. At first, this was all gravy, but eventually these same people started to get tired of giving away their hard work, some of them graduated college and needed to make money, others just wanted to improve their standard of living, the reasons are too numerous to go into, but the result is that these “alternative” business models started to spring up around software that at its core was free. The service / support model was the first to appear, along with making closed source software available for free but with embedded malicious software. The idea behind this was simple but powerful, by installing covert software on millions of remote PCs you could send spam email advertising whatever you wanted, and no technology ( at the time ) could stop you.

This was the beginning of the advertising ecosystem. Yes it basically came from malware.

TANSTAAFL : There ain’t no such thing as a free lunch. Truthfully, nothing is free. Businesses saw what was happening in the malware / spam / zombie / email space and wanted to find ways that they could do this in a legitimate way, since millions of dollars were being made off of the spam networks. What the malware / spam networks were getting from users, in addition to their IP addresses, were profiles of their behavior online, the networks could generate information about what sites were trending etc, where people went when they were looking for a product, where they went after the first click. Crack cocaine for marketing executives. It is always surprising to me how many people do not understand what is happening when they use google, bing, yahoo, etc, and why they are free. These are hugely expensive enterprises, with huge costs that could almost never be made up by charging people to use them. I don’t know what Google would cost if they didn’t advertise, but I would imagine that it would cost thousands a year to use it in order for Google to be profitable in the same way.

Webmasters often don’t think about why Google would give away analytics when Omniture has built such a profitable business selling web analytics for years. The reason is simple, Google makes more money from adwords when they can trend users from the Google search page, through their path from site to site. By including Google’s tracking code, an authenticated user logged into Google’s services can be followed.

This has benefits to the user in Google’s case, since Google has so far shown that they can be trusted with the vast amounts of user behavior data that they have amassed, and they do frequently show ads that are highly relevant. So Google’s business is in gathering data points about your behavior, and using that data to present you with the ads that are most appropriate to you. Every application and service that Google builds is to this end.

Yahoo and Microsoft are desperately trying to copy this business model, as are many smaller vendors, and that is the problem. While Google can be trusted, I do not believe that the others can be, and frequently I am not 100% certain about Google. The problem is that Google is behaving as though it were the only company out there doing this, and they seem to be oblivious to the fact that people don’t want to see ads, even good ads. I keep hearing that poor targeting is the culprit, but I am not so sure that is true any more. There is a class of people that is rapidly growing who just don’t care what type of ad it is they are just tired of the cognitive noise. I would be included in that class.

With so many different ad networks trying to copy Google, the result is end-users inundated with ads, everywhere they go there are these behavioral ad networks trying to determine what ads to show you, with varying success and quality. They are all clamoring for data, trying to convince site owners to put their little tracking code into their stream. Unfortunately this hasn’t stopped at the web, iPhone apps, Blackberry and other mobile apps, even desktop apps are showing little ads in order to compensate the developer, whose time is extremely valuable, for their hard work.

The problem for a company like Google that is interested in doing the right thing, or at least trying to, is that the lesser companies are producing ad-fatigue in users, which has lead to adblock pro and other advertising blocking solutions as end-users try to reduce the noise around them. These companies, realizing that their ad driven dreams are beginning to fade have moved to making ads look like content in the old 30’s radio business model. The funny thing is that those old tactics led to the FCC getting involved and setting guidelines as to how advertising should be embedded into programs. It is a vicious cycle that is reproducing itself in all mediums.

The embedding tactics range from “independent” product blogs, to product shils on twitter, to television programs designed to specifically and only show you a car gratuitously. Again, not all of these are bad, I follow several businesses on twitter that do not annoy me, and actually behave more like a partner than someone trying to cheat me out of my money with a product that I don’t want, and can’t use. Some of these ad sponsored “apps” on the iPhone for example are so thin as to be a press the monkey with a batman logo. What is the point of that? It is just noise.

So what’s the problem? Everyone is getting paid.

The overriding problem is this… its too much sponsored content in general. Everyone seems oblivious to this and I’m not sure why. It could be the same thing that lead to the housing crash, everyone was making way too much money to look at the obvious. People are tired of being advertised to. Everyone is touting some kind of free future where everything is free and companies are always making money in “other” ways. Typically these “other” ways are not specified, but I can fill in what “other” is. They are increasingly nefarious and opaque ways of capturing your behavior and data, then using that information to influence your behavior, usually resulting in you buying stuff with you not being able to remember why. This is bad, and is not really a proper way to run a business. It can only end with massive data leaks and a public so unhappy that government legislation is required.

I don’t think this will happen. I believe that the public is smarter than this and that they will start to back away from free software due to being saturated with ads, and begin to embrace paid software from companies with clear agendas and business models. I think that the VC money will begin to follow suit, heading instead to companies with models that a 5 year old could understand, as opposed to models that only a PhD in macroeconomics can comprehend. We make a product ( content ) and then we charge more for it than what we paid to make it.

Another of the problems with the ad model is that where once it liberated artists to develop art without needing to think about how they were going to get paid for it, it is now doing the opposite. Companies are hiring artists to make movies, television, plays, books, video games, you name it just to push some product. Artists are now the slaves to the master that they were once masters over. I would argue that the newspapers have it right, that they just need to start charging for content. It is critical, however that they get their pricing right. I think that PayPal and micro-payments will be the Visa of the future, if Visa gets their act together and drops their rates, perhaps they could be the one. Perhaps newspapers’ circulation will drop, but they would be more profitable and healthy. One company has demonstrated that this is a sound business model, and they are standing astride the world right now as a colossus.

Apple is poised to do very well in this system. Not only have they always chosen to provide high quality products and charge top dollar for them, we see that the public is more than willing to pay for quality software and hardware. MobileMe may have had its issues, but Apple’s motive in making it is simple, they want to sell more iPhones and Macs, they make 50% profit or more on each one, there is no ulterior motive, they are not selling my data, there are no ads, period. They make money in a way that I can explain to my daughter in one sentence. They could put some ads in the iLife suite and give it away for free, but why? They have proven that people will pay not only for the Mac to run the software, but they will pay a reasonable amount for software on top of that.

Microsoft and Adobe are as guilty for creating the free / illicit software market as anyone, by charging ridiculous amounts for their software for what it does, people had to figure out alternative means to get their work done. This feature of software engineering is furthering the dependence on these opaque difficult to understand business models. If you make a solid product and charge a reasonable sum, even a high-reasonable sum, people will pay. Otherwise, they will pirate or find ways to cannibalize the standard method of doing business.

To sum up, the free era is over, Google’s business model is in danger, and Apple and content companies that create quality product and are willing to charge for it stand poised to make a comeback. Microsoft and others following Google are lemmings headed off the cliff. I think the advertising bubble is about to be popped.


A Response To: “The CSS Corner: Using Filters In IE8”

Posted: February 23rd, 2009 | Author: | Filed under: Companies, CSS, Microsoft | Tags: , , , , , , , | No Comments »

Well, the IE team has posted an excuse for why IE 8 will not handle widely used CSS 3 extensions.  The reason, its hard, and it was a stretch goal.  Instead we are left with a slightly more standard implementation of the filter css attribute, -ms-filter, as opposed to filter.

Furthermore, the IE team claims that they are doing this so that “web authors do not have to rewrite their stylesheets”. 

OK.  Let’s look at this objectively.  It is indeed hard, building a web browser from scratch is no joke.  I have tried several times, and I am still trying to build a web browser.  I have tried this in C++, Java, even Ruby.  It is always hard.  Most of the difficulty comes from trying to render pages that aren’t formatted properly.  Right or wrong, it is how the web is currently built.  However; I have a radical solution, I apologize in advance for the shout, *USE WEBKIT*.  Why is this a problem?  It would be easy to use the standard msie7.dll or whatever for pages that need the *broken* button in IE 8.  Then use a new WebKit based render mswebkit.dll for pages that are standards compliant, or not using that strange IE 7 tag.  If Multiple IEs works, this would be completely possible.

Let’s take a quick look at why Microsoft might not want to do this.  Google uses WebKit, and Apple uses WebKit.  As far as the technical difficulty in this, many lesser organizations have implemented a WebKit based browser from the webkit source without hiring a million developers.  I think that an organization like Microsoft should be able to handle building a browser using or based on WebKit within a few months.  I wish Microsoft could occasionally be more like Google and throw out the product managers and just build what the world wants. I don’t understand why they can’t consider this.

Now about the sentence, so that “web authors do not have to rewrite their stylesheets.” I am a web author, and I will not rewrite my stylesheet.  IE users, I am sorry, you will just have to live with a broken layout.  I do not have the time or the interest in rewriting my cool, cutting edge web applications to work with 10 year old technology.  They said this stuff was written originally in IE 4.  It came out for the PC originally in 1997!  Come on, advance!  I will not write anything for IE.  I will make sure it functions and none of the tasks that a user would do in my web applications are blocked, but I am not going to try to make it have rounded rects, or opacity, if IE doesn’t support web standards.  That sentence alone indicates Microsoft’s hubris, note the “have.”  If it were mozilla, they would say so that web authors don’t want to rewrite their stylesheets, not that they would ever have that problem.  Microsoft is still pretending that IE is relevant as far as developer mindshare.  

Microsoft does some amazing things, but as far as the web is concerned, it is pretty much off my radar.  Users, please, please upgrade your browser to Chrome, Firefox, or Safari.


Windows 7

Posted: February 10th, 2009 | Author: | Filed under: Companies, Microsoft | Tags: , , , , , , | No Comments »

I have been running Windows 7 on an old Dell that I have laying around the house, that I wasn’t using.  So far so good.  I installed the 64-bit version and the only thing I had driver trouble with was my printer, but I was able to choose a slightly different printer that had the same features, and it worked like a charm.  

Another funny thing was that on the NASA site, the Windows Media plugin doesn’t really work.  I can not play the videos there.

The biggest concern that I had upon installing Windows 7 was the UAC.  I had installed an early beta of Windows Vista, and decided after the second RC that I didn’t need it.  With Windows 7 I have a different opinion.  I think that the current beta is awesome.  The UI is clean and uncluttered.  The OS only gets in your way sometimes, this is coming from a Mac user, and has many useful features like hovering over the taskbar icon will show you a preview of the open tabs in the browser, and you can select them from there.  I like the progress indicator in the icon on the taskbar too, you can keep track of multiple installs.

But here is where the problem comes in.  The early betas of IE 7 were pretty good as well, and by the time it came out it was bloated crapware.  I hope that Microsoft avoids this fate with Windows 7, but I have to say that after the past few releases, I am not hopeful.  Especially with their insistance on many different SKUs. It seems that Microsoft is content to emulate only the most superficial of things that makes Apple successful without embracing the core of what they do.  Apple makes products that make their customers happy.  They aren’t always the cheapest, or technically the best, but they are what the customer wants.  Until Microsoft can stop focusing on the bottom line and get back to making awesome software, they will continue their decline.  I have a bit of guarded optimism, and if they weren’t to do anything else to Windows 7 outside of bug fixes between now and release, they would have earned my $299 for the OS.  Otherwise, I’ll just keep sticking to XP.


Whirlwinds of Code and Forming Design Patterns

Posted: December 31st, 1969 | Author: | Filed under: ColdFusion, Microsoft, Programming, Uncategorized | Tags: , , | No Comments »

Whirlwinds of Code and Forming Design Patterns

Picture of Irv Owens Web DeveloperOne of the biggest issues with understanding object oriented programming is getting over its associated terminology. Most developers whether they realize it or not have formed design patterns, and use them all the time. If an established developer were to look at their code, they would often see that their application was broken down into data access and storage components, display components, and the logic that allows them to successfully communicate. When asked to bring a system from one application to another, they can usually do it with little to no modification. This is the idea behind design patterns.

In an interview yesterday I realized that I had better take a more aggressive look at design patterns. Understanding the terminology may be tough, but it is an excellent way to communicate an application's business needs, especially using UML, as well as getting down to the lowest level of describing the objects that will comprise your frameworks. I have always tried to get a firm handle on design patterns, but they have largely eluded me. I have understood simple systems like breaking your code into well defined model-view-controller layers, and using messaging to communicate between layers, but I have never really been able to understand the more advanced concepts. In the interview I noticed that I was designing with some object oriented concepts by using Fusebox, even if I didn't know what to call them, but ignoring some of the more specific ones.

Programming is often like the game Dark Cloud for the PlayStation 2. For those who haven't played the game, it is a role playing game in which the player travels around their world trying to re-assemble their world, which was scattered by an evil genie. The player is provided a weapon which is pretty weak to start with, and by travelling around the world, they can gain objects which make their weapon stronger. When they get enough objects, they can merge their objects permanently into the weapon, increasing its effectiveness. They then begin the process anew, adding objects to the newly enhanced weapon until they can merge it again. When you have better weaponry, the player can gain pieces of their world more quickly and can assemble more complex worlds in shorter time. It is like this with programming. Often I feel as though code is whirling around me and once I have that “aha!” moment it merges and becomes something solid for me that enables me to take the next step. Building large applications has caused me to develop different frameworks or APIs for me to use. For example, most of my applications require search, so I have developed a pretty thorough search framework, made up of components, that can be moved with little modification. I wouldn't have known that it was that, but it is.

Today, or last night rather, I had one of those “aha!” moments, the moments we all write software for. I was finally able to put names to some of what I was doing. Now that I am beginning to understand, I can see why it would be hard for experienced object oriented developers to explain to procedural developers how to do OO design. You just begin to think differently. I can see about ten areas in which I can improve my search API / framework to make it more portable. The hardest part is finding the dragon, slaying it is easy. In other words, associating design patterns to what you are doing is hard, once you can put names to faces so to speak, the rest is simple. For a while I could never understand why people were so excited about Microsoft enabling the use of C# in SQL Server 2005. But now I can see, you can create an entire data access framework all on the database server, abstracting the underlying database and its queries from the application. It would be possible, in a web application, to completely separate the model from the controller and view layers. This has huge benefits in code maintenance because you could have any number of applications using the data access framework through web services.

What really dragged it together for me was why Java was so tough. I realized that it was tough because my mostly procedural mind was trying to write a program thinking about what each class should do instead of things like what does this class know about itself, what is it's purpose. How do the methods inside it work to help it achieve its purpose. In short I was trying to write a simple program, instead of thinking about a toolset to help me achieve my goal. With Java, you have to diagram, you have to chart or you will just get lost. Even objective-c makes more sense, with over-riding the init method for objects. These things didn't make sense before, but now I am getting it. I still have a long way to go, but I think I'll start working with Mach II, even if there is a performance hit. That is a little more OO than Fusebox, but Fusebox is a great foundation for it.

All that being said, there are still some instances where you can go too far with data encapsulization. For example if you had a table that had contact information in it. You wouldn't want to return each row, create a struct out of it, then set an iterator method to go through each struct, then each element of the structs, at least not in ColdFusion. Iterating over a query is something that the built-in elements of ColdFusion do fairly well anyway so building frameworks to disassemble a query object, then re-assemble it as a bunch of structs is probably an un-necessary layer of complexity for most applications. So like anything else, discretion is required. Now I'm ready to tackle the UML book and hopefully figure out how to use that nifty ID3 tag reader framework for Objective-C that I downloaded a while back and couldn't quite figure out how to use. I've got Macintosh applications that need to be developed.

Here are a few of the sites that helped me get to the “aha!” moment.
Macromedia exerpt from 'Design Patterns'
ColdFusion object factories, the Composition CFC
Introduction to the Mach-II framework


The Microsoft Trinity

Posted: December 31st, 1969 | Author: | Filed under: Apple, Companies, Google, Microsoft, Sun Microsystems, Uncategorized | Tags: , , , | No Comments »

The Microsoft Trinity

Picture of Irv Owens Web DeveloperThis maneuver makes sense in the business world, but it has yet to be seen if Microsoft can truly let these vast entities they have created within the company function independently enough to behave like companies. I think that Microsoft didn't go far enough with the reorganization. It may have been better if they had broken the company up further.

The MSN group should remain on its own, however it should have the full backing and cooperation of the other units. They should focus on adding more web functionality to their applications, like automatic backups for Word, Excel, and PowerPoint to a virtual drive so that you could work on things on the road and away from your personal computer.

What Microsoft has done may improve their ability to react to Google, but that is the operative word, “react.” They will not gain a greater ability to innovate. Their organization won't allow it. They are too tied to their established business cash cow. What will happen however is that Google will see this as throwing down the gauntlet, and they will accellerate their pace for world domination.

In a nutshell, here's how I see things shaping up. Google will launch their nationwide Wi-Fi service that will be free, mostly secure, high-speed internet for everyone. This will be followed by a huge surge in advertising revenue, anticipating the expansion of their market. Microsoft will launch something that is vaguely the same, several months to a year later. Then Apple will release Mac Mini's with Intel CPUs first. This will prompt many PC users to buy a mini just so that they can get their hands on OS X for intel, which will by some amazing feat be cracked at launch to run on any PC. This will do two things for Apple. The first is that it will undermine sales of Windows Vista, second it will increase their Mac sales numbers because they will be moving product. Google will follow with more business oriented applications based entirely on the web, using their desktop application as a vehicle. They will start building widgets for the macintosh that mirror those available through the dashboard. This dual-attack on Microsoft will prove to be too much. Microsoft will remain around, constantly behind Google and Apple and will end up like Sun supplying products to the top 1% of the market while enjoying none of the fame of Google and Apple. Apple will be back where it should have been all along; as the dominant computer manufacturer. Microsoft will remain a close second, but they will continue to slip away until they perform another reorganization.

That is the future. Put it in your pocket right next to your iPod nano!


Ridiculous Microsoft Hatred

Posted: December 31st, 1969 | Author: | Filed under: Microsoft, Uncategorized | Tags: | No Comments »

Ridiculous Microsoft Hatred

Picture of Irv Owens Web DeveloperEither the people who are asking for Microsoft to scrap Windows Vista are super-elite programmers who are completely beyond reproach, or they have never written a stitch of code in their life. How could anyone ask a software company to guarantee that their software will not contain any bad code? All developers, no matter what type of code you are writing, know that code is buggy. There is no way to completely debug something as complex and backward compatiable as a Microsoft operating system.

To come to Microsoft's defense is strange for me, but one has to realize that they did a bang-up job in getting Service Pack 2 out for Windows XP when they found a problem. They managed to fix the most egregious holes without completely breaking the operating system. They spent more money in that one free upgrade than many software companies spend in research and development in an entire year. I'm sure they are working overtime to make sure that Vista is as safe and stable as an operating system can be. Especially when your users try to install ten year old software, and buy equipment from obscure overseas vendors who have no quality control for their drivers or hardware, and then complain about their computers being unstable.

I won't be buying Vista because I'm not a windows user, but if I do actually switch back, I'll want Vista because it will be the best Microsoft can offer. It sounds like some people just hate Microsoft because they exist.