Throughts on Steve Jobs’ “Thoughts on Flash”


Mac users buy around half of Adobe’s Creative Suite products

This is more for the fanboys.  By extension, I guess that the other "around half" of Adobe's Creative Suite produts run on Windows systems.  I didn't realize the market share was that high for Windows and CS.  So if Macs are soooooo much better at handling media, why is only "around half" of the CS products sold to Macs?  Truth is, dollar for dollar, you get more performance out of Windows systems than you do Macs.

Adobe’s Flash products are 100% proprietary. They are only available from Adobe, and Adobe has sole authority as to their future enhancement, pricing, etc. While Adobe’s Flash products are widely available, this does not mean they are open, since they are controlled entirely by Adobe and available only from Adobe. By almost any definition, Flash is a closed system.

Except the definition where Flash is an open standard, and you can search for "flash editing software" and find dozens upon dozens of programs you can use to create and edit Flash files, and which run on Mac, Windows or Linux OS.  Yes, CS5, Adobe's commercial product, is proprietary, just as Apple's iLife isn't open source, but by nearly any definition, Flash is an open ecosystem.

Symantec recently highlighted Flash for having one of the worst security records in 2009. We also know first hand that Flash is the number one reason Macs crash.

Wait, Macs crash? Really?  And wait, Macs have a security issue due to Flash?  Hmm.  No argument on the instability or security aspects of Flash–these same Flash-derived issues plague Windows systems, too, but Apple has kind of built a business saying their systems don't crash and don't have security issues.  Hand over fist the majority of Windows crashes (one statistic claims 70% of IE crashes) are caused by Flash.  When Flash causes a Windows crash, that's Windows fault, but when Flash causes a Mac to crash, that's Adobe's fault?  Maybe Justin Long can explain it.

Many of the chips used in modern mobile devices contain a decoder called H.264 – an industry standard that is used in every Blu-ray DVD player and has been adopted by Apple, Google (YouTube), Vimeo, Netflix and many other companies.

H.264 might be an industry standard, but it's not an open standard.  To use H.264, you need to license it, just like MP3.  In fact, it's the same group.  Mozilla Firefox, arguably the dominant web browser, refuses to support H.264 because it's not an open standard.  The licensing for H.264 is free until 2016, but no word on what happens after that.  It could be very, very expensive to have a large media library in H.264 format, so sites like YouTube may want to reencode their library.  I'm not speculating here, Google recently open-sourced its own codec
called VP8
Opera and Mozilla support Ogg Theora codec (which is apparentlynot as good as H.264, but is completely open).  Chrome supports both H.264 and Theora.

Secondly, the decoding of H.264 is baked into the chips in mobile devices.  So what happens to your iPhone/iPad/iPod Touch is Google reencodes all of YouTube into its own HTML 5 codec?  You'll need a software decoder, and there go all the arguments for dumping Flash due to battery and performance concerns.

Most Flash websites will need to be rewritten to support touch-based devices. If developers need to rewrite their Flash websites, why not use modern technologies like HTML5, CSS and JavaScript?

I totally agree!  Can Flash rollovers go the way of animated GIFs?  Alternatively, write a Flash or Silverlight based site for a great experience on a desktop, but use a browser capabilities file to detect a mobile device and serve up a mroe mobile-friendly interface.  Not some lame can't-do-much mobile site, something really good.  It's being done.  But it's probably easier just to skip the Flash and Silverlight and just write a nice, clean CSS-based site.

If developers grow dependent on third party development libraries and tools, they can only take advantage of platform enhancements if and when the third party chooses to adopt the new features. We cannot be at the mercy of a third party deciding if and when they will make our enhancements available to our developers.

I see his point, and some incredible work has been done on the iPhone OS.  But good things happen on other platforms, written in other languages and with other tools.  Programs I liked on my old WinMo device, like my password keeper, aren't available on iPhone, and there's no good way to migrate a lot of passwords or contacts.  Having the same program on different platforms is wonderful from a consumer's point of view.  I could simply transfer a new file and go on with the iPhone love.  I currently have a Droid, and I'm going through the password pain right now.

As a developer, I want to reach the widest possible audience with the least amount of work, and that's the attraction of cross-platform development tools.  What really makes it tough is the different implementations of accelerometers, GPSs and touch screens.  We either have to learn every platform's dedicated language, or use tools like MonoTouch, which abstract the OS-specific commands into a generic set, then compiles the code into a platform-specific executable (like MonoTouch was trying to do), or an executable that will run if some additional framework (like .NET or Java) is installed.  

At the current moment, Windows Mobile is a dead platform.  The hardware supporting WinPhone 7 better ROCK, or Microsoft should just get out of the business.  Any disappointment and they'll never recover.  Android is coming on very strong, has an active and excited user base, and so is an attractive development target.  Obviously, the rabid fandom and huge install base of iPhone OS devices is very attractive.  It would be sweet to develop for both Android and iPhone OS using the same language and tools.

As developers, we HATE to wait for our libraries to support new features.  I think that Apple's secrecy goes a long way to slowing the adoption of new features.  There's a way to work with other companies to enable the maximum development effort, and Apple is as much at fault as the thrid party platform providers in adopting support for new features.  Contrast Apple's approach with that of Microsoft, which gave everyone a pimped out laptop at PDC to spur development on Windows 7, or Google, which gives hardware to developers whose sofwtare reaches certain download levels.

In no way shape or form will Apple closing their system slow cool things from happening on the platform.  But it's a little facetious to call out other companies for being closed when they're really not, and you're slowing the access to new developers to the ecosystem.

Agree?  Disagree?  Hate Mail?  Please use the contact form, I'll post the best comments (especially the ones where I'm wrong, I'm open like that).  Public comments are off due to comment spamming scum.

Resolution: Can’t Open SharePoint 2007 Document Library in Explorer View with IE8 and Windows 7

After migrating to Windows 7 and IE8, our users were unable to open SharePoint 2007 document libraries in Explorer View.  There was not a problem with Windows XP and IE8.  We found two issuses involved here.

First was Urlscan Filter 3.0 was installed on our server.  The Windows 7/IE8 combination apparently sends header verbs not used by Windows XP/IE8, most of which are disallowed by rule.  If possible, the best thing to do is uninstall Urlscan from your SharePoint server.  In order to utilize Explorer view, you pretty much need to allow all the verbs.  If you need to keep Urlscan installed, you'll need to work through the logs, performing the different oprations in Explorer View, making sure you have all the needed verbs allowed.  We have up after 5 verbs and justuninstalled Urlscan.

The second issue we found is that IE8 on Win7 doesn't actually support Explorer View.  Instead, a Windows Explorer window will open, and you can work with the library that way, but yuo aren't actually in the IE browser.  To me, this is preferable than opening the Explorer View in the browser, as the Windows Explorer is faster and more fluid.

Questions? Comments?  Use the Contact Me form above.  Comments are disabled due to comment spamming scum.

Team Foundation Server 2010 is now for Everyone

Microsoft listened!

TFS 2010 now allows you to start small–single laptop installation on Win 7, using SQL Server Express, no requirement for SharePoint or SSRS.  Apparently we can upgrade as we grow, building to the mac daddy TFS installation.  The basic installation/config is crazy easy–the speaker did it start to finish as a demo on a Win 7 client in a couple of minutes, and it actually worked.  The only demo today that worked the first time.

32% of all Beta 2/RC installs of TFS 2010 are on Win 7 machines.  Server 2008 and Server 2008 R2 are 25% each.  Server 2003, Vista and Unknown are the rest.

Each MSDN subscription includes 1 production TFS installation and one CAL.  Each VS 2010 (except Express) includes a CAL.  If you don't have MSDN, TFS can be purchased for $500, and includes 5 users.  Additional individual CALs cane be purchased from a reseller.

There is a conversion tool to migrate from VSS to TFS.  Subversion can either do a check-out/check-in, or watch for 3rd party products.

Totally new is Eclipse and Java support, so Java developers can make use of all the tools in TFS.  We work with a Java team at the day job, and ironicaly the Java guys use VSS, and the Visual Sudio guys use Subversion.

What’s BIG in VS2010

There's a lot of "what's new in VS 2010" going on, but what's really BIG–what is MS pushing, where is the excitement, where are the partners going?  Two immediate things stick out.

1. Scrum.  Scrum is all over the place.  Scrum is baked in to TFS 2010, it has great support (including SharePoint dashboards and Excel planning workbooks), and a bunch of partners have add-ins for managing and reporting on Scrum from TFS.  Pluralsight is offering all kinds of Scrum training

2. MVC 2.0.  This is part of VS 2010,  but also runs in VS 2008 (download from  Partners are developing components (not controls, more like scaffolds and HTML helpers).

At the VS 2010 Launch!

Right now, they’re playing a video with a bunch of MS principals (like Gu) and developers discussing the history of Visual Studio (Microsoft 101: Visual Studio).  It’s online at  There are like 20 cameras for broadcasting the keynote globally.

The best swag so far—a deck of VS 2010 Poker Planning cards.   Coolest VS 2010 feature might be the built-in multiple monitor support.

Bob Muglia takes the stage, and says it’s all about developers.  Bellagio has HD projectors for the six screens, we can see way to much detail on his face.  HDTV = TMI.  The official slide just popped up—VS2010 is officially launched.  Now production ready, available for purchase and via MSDN.  50 partners have components and add-ons ready right now.  “A connected ecosystem”, “it takes a village”, ugh.

What can we do with VS2010?

“Stay in the zone” – Sam Gazitt

Multiple monitor support—we can snap a document out of the IDE and put it on another monitor, so no switching back and forth or having multiple instances open.

Box selection—can update multiple lines of code at the same time (a lot like Notepad++ if you’ve used that)

Built in support for JQuery, with Intellisense.  HTML code is standards compliant.  First time MS has shipped an open source tool with any of its products,  Also works with other JavaScript libraries.  Lightbox photo gallery in three lines of HTML code, only typing like 15 characters thanks to Intellisense.

“Get current” —

x86 servers are the most popular servers in use, and Windows is the most popular platform on the x86 servers.  Over 1 billion Windows clients in the world today.  Windows 7 is the most popular release ever in both consumer and business markets.  PC Sales “skyrockted” after Win 7 was released (no duh, Vista wasn’t good).

SQL Server 2008 R2 uses DAX, sounds like copy and paste for DB schemas.

New animation API for Win 7.  New native Ribbon designer.  MFC Class Wizard is back.  Huh?  Nice—the demo threw an error!  Both machine!  Library support for Win 7’s multi-touch and gestures.

SharePoint is the “central dashboard” for many businesses.  Opportunity to build SP applications is “off the charts”.  Env not set up well in the past.  SP 2010 + VS 2010 changes all that.

SP2010 “first class tooling set” in VS 2010.  Deployment was a pain point, VS2010 automates much of that.

SP Visual Web Parts are new in 2010.  Silverlight is also a part of Visual Web Parts.  VWPs intended to be very similar to web forms.  SP can run locally on a Win7 dev box!  VS 2010 automates deployment, so much nicer!  With debugging right in VS!

Cloud Apps—Windows Azure

“The cloud will have a very significant impact on all of us”.  “The cloud enables a next-generation application model that allows us to build scale-out applications”.  The PC and the Internet were major transition points–points of inflection "(“tipping points” per Malcom Gladwell).

About 5 years ago, MSN stopped buying servers and started buying pre-configured racks, and now they buy containers with 2000 servers and petabytes of storage.  Working with OEMs to drive the cost of hardware down.  If parts aren’t compute, storage or memory, it’s superfluous. 

The highest cost of running data centers is people. The usual ratio is 1 operator: 30 servers, world class is 1 operator to 300 servers.  Now can have 1:3000.  Learning a lot from Bing, with 100s of thousands of servers.

The cloud is a new, 5th generation application model:

  1. mainframe
  2. client-server
  3. Internet
  4. SOA
  5. cloud

Designed for Model driven, elastically scaled applications.  Many apps will run in the cloud without taking advantage of any of the new features.  “Our job is to allow every company, every developer on the planet to easily build cloud applications.”

Orville McDonald – WinPhone 7

WinPhone 7 apps designed to be connected to Azure or Server.  VS2010 includes templates for Azure services and roles.  Data hosted in SQL Azure can be modeled locally.

Win Phone 7 SDK has side-by-side designer and XAML view.  Blend can be used to style WinPhone 7 apps, with the back-end built in VS 2010.  The WinPhone 7 emulator runs an instance of the WinPhone 7 OS locally, so it’s real development against the real device without having the device yet.

Bob Muglia just pulled a WinPhone 7 out of his pocket, and they’re showing the demo app on it via overhead.  Phone gone before I got a photo.  Later this year, the Windows Phone Marketplace will be updated to accept Win Phone 7 apps.

Sharing Code

Phenomenal opportunity for the development system to provide an environment for developers to work together and share code.  Many environments are heterogeneous, including Java/Eclipse, Linux/Unix and Mac.

Visual Studio Team Explorer Everywhere is announced.  Fully connected to VS 2010, a TFS environment, works with Eclipse, Java, Linux, etc.  Based on Teamprise product.

TFS can be used by devs to prepare status updates so they can spend time on development.  TFS can also be used for bug tracking.

ALM Features – Doug Seven

Dependency Graphs, UML right in VS 2010.  Microsoft Test Manager is a part of VS 2010.  Recordings can be automatically made during testing and attached to the bug report in TFS.  “Intellitrace” captures the actual code that was executed on the test machine, like a DVR or flight recorder (code built via reflection?).  Not looking at the code in front of us, but what was actually executed.  The test manager actually plays back the actual mouse clicks.

TFS includes burndown information, tracks project progress, and dashboards are integrated with SP.  Test plan reports, trend reports, bugs by priority reports, and more.

VS2010 hosts virtualized test environment, can deploy server instances in the test lab.

SKU Details:

VS2010 Professional, MSDN Essentials Subscription

MSDN Essentials Subscription: 1 year subscription to SQL Server 2008 R2 Datacenter, Windows Server 2008 R2 Enterprise, Windows 7 Ultimate

The Ultimate Offer is extended to the end of the month–VS2008 Pro w/ MSDN Premium steps up to VS2010 Premium.  VS 2008 Premium steps up to VS 2010 Ultimate.

That’s all folks!