Silverlight to become Microsoft’s next VB6?

There was a huge uproar in the tech blogs this past week regarding some comments made by Bob Muglia (of Microsoft) as reported by Mary Joe Foley in a post entitled, “Microsoft: Our Strategy with Silverlight has shifted.”

The quotes that caused the most ruckus are:

Silverlight is our development platform for Windows Phone,” he said. Silverlight also has some “sweet spots” in media and line-of-business applications, he said.

 

But when it comes to touting Silverlight as Microsoft’s vehicle for delivering a cross-platform runtime, “our strategy has shifted,” Muglia told me.

 

Silverlight will continue to be a cross-platform solution, working on a variety of operating system/browser platforms, going forward, he said. “But HTML is the only true cross platform solution for everything, including (Apple’s) iOS platform,” Muglia said.

OK, so many who read this read a lot between the lines.

Whatever HTML5 means to you (and your definition is likely different than mine unfortunately), it can’t do everything. There’s still a place for Silverlight and Flash in this world. Many consumer facing web sites, simply don’t need Flash or Silverlight. Either of these browser plug-ins can enhance the consumer experience, but rarely are they needed for the average web site. You won’t likely see more Flash or Silverlight on traditional consumer facing web sites.

Thankfully, BobMu responded and tried to calm some fears (which was only somewhat effective).

I’d consider there are a few places where HTML (4+) is not yet rich enough to provide the type of experience demanded by users:

  • Games. JavaScript and HTML just isn’t yet up to the task of creating a good rich game. It’s not really the platform’s fault – it just wasn’t designed with it in mind.
  • Business Applications. It’s great that Twitter can run completely in the web browser or that you’re able to enter a street address to collect a consumer’s home shipping address for a package (with the ability to provide some text hinting as a bonus). But, business applications are far more complex, and require robust data and input handling that are very challenging to handle, especially cross browser. Layout of complex data (tables or not) can be maddening and extremely inefficient in browsers, when data needs to be truncated, formatted, centered, sorted, etc.

    It’s easy to build a ineffective web application in HTML that doesn’t consider the user. Too easy. That’s where the plug-ins can excel when used properly.

Many things can be hacked to work in the web browser without Silverlight. However, this comes at a great cost of development and maintenance and QA. How many times have you written a web application and not needed to fix an issue that happens only in one browser (and worse, only in a particular version)? If you haven’t, it’s likely you haven’t written a complex web application or that your needs are very simple.

This is where Silverlight (and Flash/Flex) both shine. They provide a consistent and robust user experience across supported browsers and platforms. Write it once, and it really should run nearly anywhere the plug-ins are supported without issue. Furthermore, they both provide a better debugging and development experience than JavaScript/HTML.

Even though Silverlight and Flex are best used in Enterprise development, I worry that Microsoft may still abandon the platform sooner rather than later.

Microsoft totally missed the boat on Silverlight for games. If they had gotten a better foothold in that market, I’d be much less worried. I’ve never encountered a game that was written in Silverlight that wasn’t pointed by some Silverlight blog I follow. Flash I encounter all the time. Silverlight should be a decent gaming platform, but the development and design tools for gaming in Silverlight suck in comparison to those provided by Flash. Suck. There’s no real consideration for the type of animation and character creation that the Flash tools provide that game development shops need.

Blend – phhpt. Don’t get me started on how awful that would be to use as an animator. Expression Design? Ha! That thing is a joke compared to Flash CS5. At best, an animator could painfully create illustrations in Photoshop or Illustrator and then import them as layers into Blend, and then try to manage them … yuck. Too many tools and not enough interaction between them.

This is a new game that demonstrated at Adobe Max – beautifully done. It’s using Flash. I can’t imagine it being done in any other platform today.

So, that leaves business applications as the other major distinguishing feature of these plug-ins.

But, will that be enough?

It’s absolutely enough to keep them alive for another 3-5 years without any issues. Even once HTML5 settles into place and the major 3 or 4 browsers implement most of the features, there still will be a lack of good support for typical business applications. Again, it’s just not something HTML 5 was built for. It would require enhancements. HTML 6 maybe?

Eventually, browsers will support the typical enterprise web application needs. It’s at that point that the Flash and Silverlight’s we know of today will be retired. But, neither Microsoft or Adobe is going to sit idly by and watch their platforms die a slow miserable death. Both sell tools. That’s how they make money. The plug-ins generate no real money. It’s the tools. Once the tools stop being profitable, the technologies will be retired or open sourced. For the sake of enterprise development shops, one could hope for the latter (but my guess is that intellectual property issues surrounding much of the plug-in will make this impractical, especially video/audio codecs.).

The best chance for both Adobe and Microsoft seems to be in the application market. Not a pure web application delivered via the browser, but an out-of-the-browser application. Adobe AIR and Silverlight both provide a reasonably robust (and continuously improving) out of the browser experience that in some ways exceeds the native platform capabilities in terms of developer and designer productivity. Both allow developers to be far more productive than the equivalent HTML/JavaScript solution of reasonable complexity.

Furthermore, both are cross platform (Mac OS X and Windows). That’s a huge win for both companies. Although some predict that the rise of “tablets/pads” prove that the end is near for personal computers, Apple’s recent Macbook Air (2010) debut shows the opposite. It’s a slick lightweight laptop. (There are some Win7 notebooks that have similar characteristics). The keyboard is not dead. Giant 8 pound laptops are hopefully dead (except for those who want a “desktop replacement.” The traditional PC tower may be going away for many consumers, but typing and mouse driven interaction isn’t going away any time soon (and laptops aren’t generally very cheap or effective in an enterprise, especially where mobility isn’t important). You may be able to casually browse the web for a couple of hours (?!) on a touch screen tablet (like the iPad), but could you do data entry? Not for very long before you wanted to toss it out the window, or, attach a keyboard.

There’s still a place for many different form factors. As long as there are sufficient business enterprises in need of rich interactive applications, delivered over the web, using web services, there will be a place for Silverlight and Adobe’s Flash. When the time comes and they aren’t necessary anymore, it will be time to port and convert. Microsoft and Adobe won’t want to abandon you in that case either as they’ll want to provide new tools to help you move to the next “web platform.”

Eventually, Microsoft will announce, “Silverlight is being retired. We will support it for the next 3 years.” At that point, you may start the panic. For now though, continue on as usual. Always pick a solution based on the product. Don’t use Silverlight just because you think it’s more fun than HTML. Pick the right tool for the job.

As I said, it will happen. HTML 5 and its friends have accelerated its end, but it’s not happening so soon you should be considering throwing out all of your Silverlight books. Keep them. In fact, this is a good one.

(I would predict today though that Adobe’s products will outlast Microsoft’s)

Apple’s Store Policies Regarding Amateur Applications

From Read Write Web, “Apple Says ‘We Have Enough Fart Apps,’ Here’s Why That’s Wrong.”

Some of the language in the developer agreement is rather strong and very direct. For example, Apple proclaims that it has "lots of serious developers who don’t want their quality apps to be surrounded by amateur hour."

Apple also says: "we don’t need any more Fart apps," but it couldn’t be more wrong about that, and here’s why.

Sarah (the author of the blog post) goes on to argue that Apple should simply provide better filtering and ranking of applications rather than rejecting applications because there are too many of them.

I agree with Sarah that the App Store needs a good search and filtering tool some times. But, part of the reason is that there are too many applications to choose from, with very little to distinguish one from another! Many people don’t post positive reviews – only negative reviews. Even the review process would need to change for the app store to become useful.

Here’s a perfect example. I’m hooked on a game called Tower Madness HD for the iPad.

image

First reviewer, 1 star. Slam purchase policies. Second reviewer, counter’s first reviewer. These are the first reviews you’ll see when reading about the application. So, I’m forced to read through the reviews to make a decision. And read more, etc…

Go on and read her blog post and comments. I’ll wait.

I actually don’t agree with her in this case. I think of it this way:

All stores do some amount of filtering before products show up on store shelves. It’s not like every product should automatically be added to a new shelf, along side of the 3000 other choices in the same category. Imagine the Apple Store for example. It doesn’t have every iPod case, every Mac accessory, etc.

A great example was mentioned in this article about Trader Joe’s (a quite popular chain of small grocery stores with good products and good prices).

http://money.cnn.com/2010/08/20/news/companies/inside_trader_joes_full_version.fortune/index.htm#joe

"The company selects relatively small stores with a carefully curated selection of items. "

 

Interesting. Sounds like what Apple wants to do more of.

"Studies have found that buyers enjoy purchases more if they know the pool of options isn’t quite so large. Trader Joe’s organic creamy unsalted peanut butter will be more satisfying if there are only nine other peanut butters a shopper might have purchased instead of 39. Having a wide selection may help get customers in the store, but it won’t increase the chances they’ll buy."

I don’t see an application store as fundamentally different from a physical store. Maybe there can be more virtual shelves, but there’s still a need for limits. (I don’t know what the right number is, but it’s clear to me that there is a sweet spot). Saying there are 250,000+ applications is just a useless piece of trivia and provides no actual value to me as a consumer, when the average user only needs only a tiny fraction of that number of applications. Even Amazon, which I love shopping at, often is more exhausting now that they host so many store-fronts for other stores.

Search is the key. Google & Microsoft (Windows Phone 7) is more likely to get it right at this point as they seem to understand search better than Apple.

Endless lists of choices is exhausting. Mediocre choices, and limited valuable reviews means it takes more time to select a product. That makes the experience less desirable and tends to leave a bad impression on the consumer.

What do you think? Do you like an endless sea of choices and lots of search and filtering to try to find what you want? Or a limited selection, filtered by the store, (with some search and filtering still)? Are you the type that likes to read other people’s “top 25” applications for my XYZ phone or the type that would rather sift through thousands of choices?

On Twitter, follow wiredprairie.

I’ve been using twitter a bit more recently, and posting less to my blog. I just haven’t been compelled to write much. I’ve got a few things queued up though and as soon as I finish the details, I’ll get some new posts up.

But, in the mean time, feel free to follow me on twitter: wiredprairie. Maybe I’ll see you on twitter!

I promise not to tweet too much. Certainly not too much about bowel movements or the details of the meals that preceded them. Smile

Windows Phone 7 Marketplace: Ditch the Annual Fee for Free App Developers!

Dear Microsoft,

A few facts:

  • I’m a competent Silverlight developer. I’ve even dabbled in XNA.
  • I’m an owner of a iPhone 3GS.
  • I would like a new phone.
  • I’d like to buy a phone powered by the Windows Phone 7 OS when it’s made available.
  • I’d like to make some free applications for my phone and others to use. A few for hobbies (like photography), and a few utilities for myself for work.
  • I don’t however want to spend $99 a year for the privilege of doing so.

Why not open it up for people like myself?

Here’s a few alternatives:

  • Make it free for those who make only free applications
  • Make it free for those who agree to include a Bing-Ad placement component in the application, in a prominent position.
  • Make it free for those who buy a copy of Visual Studio 2010 and Blend (like myself – I don’t use the Express editions).
  • Make it free so that there’s no barrier to entry – that people and companies don’t need to worry about the extra fee – just jump on the Windows Phone 7 bandwagon.

Without this change, I probably won’t buy a Windows Phone 7, and will start building more HTML 5 web apps, that will work just fine on my iPhone 3GS (powered by iOS4). Sad smile

Now, a 3rd option, IIS Express

ScottGu announced IIS Express.

IIS Express will become a new way for developers to do local web development in a safe, administrative-account-free way, yet get the full experience of IIS 7. I’d bet the days of the ASP.NET Development server are numbered if IIS Express actually works as well as is suggested (if the same debug/test/run cycle is maintained, and the perf is good, I can’t see any reason why not).

The only bad news is that the announcement precedes the availability of IIS Express and also precedes the availability of patches for VS 2010 to make integration with this new option simple. The latter sounds like it’s farther out than IIS Express itself.

I’d like to see a feature for allowing the web sites hosted within IIS Express to be available from other machines and not just localhost. It would make sharing current development with other team members, QA, managers, etc., much simpler. For developers on older versions of Windows (like XP), they have no option for locally hosting a IIS7 web site and showing it to others. (From the initial blog post, it’s not mentioned if this scenario is supported).