Monday, April 30, 2007

Silverlight: Differences between the 1.0 Beta and 1.1 Alpha

This could be big. At Mix 07 Microsoft significantly augmented Silverlight. I watched the keynote, and I was a little confused at first, but here are the important bits from my perspective:
  • Silverlight 1.0 Beta for Mac OS X. Replaces the WPF/E CTP plug-in. Works on OS X 10.4 (though MS reqs don't say so, but Safari version is a giveaway) in Safari 2.0.4 and Firefox 1.5.0.8 + 2.0.x.
  • Silverlight 1.1 Alpha for Mac OS X. Big deal here is that this release includes a subset of the .NET CLR. How much? I haven't found anything that says truly yet. Works on OS X 10.4 (though MS reqs don't say so, but Safari version is a giveaway) in Safari 2.0.4 and Firefox 1.5.0.8 + 2.0.x.
  • Silverlight 1.0 Beta for Windows. Works on Vista and XP SP2 in IE 6, IE 7, Firefox 1.5.0.8, and Firefox 2.0.x
  • Silverlight 1.1 Alpha for Windows. Works on Vista and XP SP2 in IE 6, IE 7, Firefox 1.5.0.8, and Firefox 2.0.x
  • Silverlight 1.0 SDK. Credit to ActiveWin for linking to this. This isn't just for Windows, its for Mac OS X too!! This is not Visual Studio for Mac OS X, but it does start to answer the questions and criticism I and others leveled against MS for not inviting OS X developers to the party. I haven't fully dove in, and you will need to install Chmox to read the documentation since it's in Compressed HTML (CHM, pronounced chum) files. I actually didn't realize this existed, which is really cool.

What in the bits on OS X?
This isn't immediately obvious, but the Silverlight 1.1 Alpha is a superset of Silverlight 1.0 Beta. How do I know? By inspecting the files, installers and the plug-in. When you install Silverlight 1.0 Beta, this is what the installer package looks like immediately before letting it rip:

When the installer is done, this is what /Library/Internet Plug-Ins looks like:

So what's inside? Right-click on on the .plugin and click Show Package Contents. Then go to Contents/MacOS and this is what you see:

Look at the size of agcore and the Date Modified.
Now install Silverlight 1.1 Alpha. The first thing that set off my spidey sense was that the Install button had changed to Upgrade:

What a minute? This actually had me nervous at first, I didn't want to mess up 1.0 Beta by installing the 1.1 Alpha, how come the Silverlight plug-in can't have both versions side-by-side? Take a look at the contents of Silverlight.plugin after 1.1 Alpha is installed:

Talk about file explosion. The immediate most interesting thing is that agcore is the same size and has the same Date Modified with 1.1 Alpha installed as with 1.0 Beta (to bad there is no version info on these files). Ah hah, agcore is the same in both 1.0 Beta and 1.1 Alpha, thus 1.1 Alpha appears to be a superset and you can install it without fear of breaking code that uses 1.0 after you install 1.1. In fact, I think you can install 1.1 Alpha and just skip 1.0. The other clue to this is the info windows if you extract the plug-ins from the installer packages and Get Info on both:
Notice the version is the same, 0.8.5 (side rant: why isn't this at least 1.0.0? Oversight or more weird Microsoft versioning?). I kind of hope that MS preserves multiple version of Silverlight.plugin to avoid code conflicts, like the full .NET runtime does with major version releases. The packaged format of the plugin on OS X doesn't really support that right now, but no reason that I know of that couldn't be the case. It seems that's partially the beauty of the .plugin bundle on OS X, you can put just about anything you want in there, but my understanding of how files are loaded and referenced inside a bundle is pretty limited, so I could easily be glossing over a much more complicated problem. One more thing of interest, inside the plug-in is another bundle, CoreCLR.bundle, which has the following contents:

All and all, I am very excited about the possibilities. I am not ready to proclaim that Microsoft has changed the game as Robert McLaws has, but they certainly look like stronger competition to Flash/FLEX/Apollo than before today. I also can't believe that McLaws is correct and that the .NET CLR subset in Silverlight 1.1 Alpha is a stepping stone to MS having the complete .NET Framework running on Macs and PCs. I'll believe it when I see it.

Blogger Annoyance #001 - No Editing Comments for You

I responded to a bunch of comments on my JavaScript post since I got a lot of conclusions wrong about what was happening (key takeaway: always check your assumptions!) and it frustrated me that that you can't edit comments once posted. I mean this has annoyed me before, but I missed a bunch of editing errors this time. Sorry, sick day so I am a bit foggy and the stupid comment window is way to small. What can you do once this happens? You can trash your comments and start over or just let the typos stand. Oh well, the typos stand because I don't have the patience to copy and paste and edit all the typos and editing mistakes out.

Friday, April 27, 2007

Mac OS X Annoyance #002: Artifical Restriction for files in the Trash


This restriction seems ridiculous to me. I mean, why? Could apps have problems opening apps from the Trash? That's the only reason I can think of. Can I test that? In fact, yes.

What would I expect to happen when I double-clicked on Picture 1.png? Open in Preview.app of course. Can I make that happen another way? Let's find out. First of all, where is the user's trash? That's easy, it's the .Trash directory in your home directory. Open Terminal and run ls -al to see the directory. Execute cd .Trash to get into the directory. Now run open "picture 1.png". Tada, it opens in Preview immediately, no problem. WTF? The .Trash directory is a hidden directory in UNIX (because of the dot prefix, works the same for files), could that be the reason for preventing opening files from the Trash, apps might not understand it? If that's true, Preview has no problem, and while there is a clear workaround to fixing this, from the user's perspective, this just makes no sense. Hopefully in Leopard...

Web Annoyance #001: MSN Video's dodgy browser detection

I downloaded Camino for Mac OS X this morning based seeing it recommended in Apps you can't live without on the O'Reilly Mac DevCenter. I happened to go to MSNBC and tried to play a video when I saw this:

Piece of crap. I was annoyed because of browser detection in general, and specifically I thought Camino is never going to take off when you can't even get past a gate like this. So I tried to open the site in Firefox 2, Firefox 1.5, and Safari 2.0, and I see the same damn pop-up! MSN Video was made directly Mac compatible a couple months ago, switching to Flash video, but it looks like someone can't figure out how to do browser detection, let alone get rendering engine detection right.

Update
I configured the site last night to use Google Analytics and after I created this post I logged on to cruise the reports. One thing it reports on is Flash versions, and I went to see how many were out there. Quite a lot actually, I am seeing at least 10 different versions, with 9.0 r28, 9.0, and 9.0 r45 making up 78.98% of my current traffic. 9.0 r45? I vaguely remember seeing 9.0 r28 installed, *gasp*, could I be behind the latest? Sure 'nough, I am, 9.0 r45 is available, I install, and now I can see the MSN Video! In Safari 2 no less. WTF? I know, Step 2 in the MSN troubleshooting steps was uninstall and reinstall Flash, but I knew when I saw the pop-up I had Flash installed and it it working, I was using it on another site like 5 minutes before the MSN Video thing. I guess the title on this post is misleading now, it should really be MSN VIdeo's dodgy required components detection, because if the latest version of Flash is required to view your site, say that. Also, this is the first time in a long time I have ever had to update Flash to view anything on the Web.

Thursday, April 26, 2007

Windows Update and I have a different definition of successful update

I returned to Windows to work on some customer changes in the application I have been working on when I see Windows Update is ready to install something. I tell it to go ahead, and then I see this a couple minutes later:

Ut oh, what is that? I just wrote about how IE 7 stopped working with dumb error messages like in the Apple Computer Cart ad, here we go again. I then look to see what Windows Update is doing:

So it's installing the update describing in this MS Knowledge Base article, not a lot of detail here. Not much I can do, I click OK, and then I see this a few seconds later.

Going downhill fast. I click OK again, and see this:

Thanks Windows Update, glad to know there was nothing to worry about. I'll just go into Event Viewer and see if there are any errors, and here is what is in Application:
Event Type: Error
Event Source: Application Error
Event Category: (100)
Event ID: 1000
Date:  4/26/2007
Time:  3:11:13 PM

Description:
Faulting application printfilterpipelinesvc.exe, version 6.0.6000.16438,
faulting module printfilterpipelinesvc.exe, version 6.0.6000.16438,
fault address 0x000216c8.


And in System, some more information about what was being installed. I am loving me some XPS:
Event Type: Information
Event Source: NtServicePack
Event Category: None
Event ID: 4377
Date:  4/26/2007
Time:  3:11:59 PM

Description:
XML Paper Specification Shared Components Pack 1.0 Hotfix XpsEPSC was
installed.

Get Crackdown

When I wrote Halo Revisited and just outright called Crackdown the Halo 3 Beta, I had no idea how wrong I was going to be. Perhaps my opinion on this is colored by never playing a Grand Theft Auto game, but after reading about and talking to former GTA players playing Crackdown, I don't think so. Let me make this clear, Crackdown is great.

Why? Because you have total freedom to do anything you want in the game, it is entirely non-linear. Apparently this can be jarring at first to some, but it was eye opening and refreshing to me. I don't think I am exaggerating to say I had a similar feeling playing Doom for the first time. Finally a new type of game! Crackdown's setup seems simple. You are a genetically engineering cop working for the Agency in Pacific City, which is controlled by a bunch of gang bosses across 3 gangs. That's almost the entire preamble. As you find the headquarters for each boss, you are shown a dossier video of that boss, which provides additional color, and a little more depth to the "story", but it's not much and you don't have to follow any pre-set path to ridding the city of crime.

The games real depth though comes from the near limitless ability you have as a player to try just about anything because of your characters skills. It dawned on me this morning though that not only does Crackdown owe an obviously huge debt to GTA and the "sandbox" genre, but nearly equally to the first Matrix film. This is really the first game I have seen which captures the feeling of awakening and increasing powers from that film, called skills in the game, which eventually make you a superhero. It might be the best solo superhero game ever made. Unlike say an existing superhero game, where you start out with nearly all powers and you expect it, in Crackdown you start out only slightly super powered and you level up mostly just by doing the stuff you want to do already. Remember the first scene in the Matrix where Trinity jumps across a huge canyon between 2 tall buildings, you will do that kind of stuff all the time in Crackdown, and you will love it. I have spent hours just running on rooftop to see how far I can jump once I leveled up my agility skill.

I should re-address the Halo 3 Beta tying. I was extremely disappointed with Microsoft when this scheme was announced, like what kind of piece of crap must Crackdown be for it to need this marketing stunt. I think Crackdown was initially harmed by this, gamers just wrote it off no matter how how good the reviews where. Look at sales past the initial surge, Crackdown for the week of April 15, 2007 according to Videogame Chartz, moved only 15,673 units in the US, for a grand total of 597,498 units. It sprinted to 495,984 between 2/25/07 and 3/11/2007, then really trailed off and now looks like it will not hit the magically million sold mark. That's a shame, because this game deserves to in your 360 right now. This interview in Eurogamer with Crackdown producer Phil Wilson is a great read and explains the marketing thing and what developer Realtime Worlds was trying to achieve.

You also might need this guide to get all the achievements.

Tip: Make sure you declare JavaScript For loops correctly or Firefox go boom

So far this year at my day job I have been working on my first AJAX application. It's still ASP.NET on the server, and also happens to be my first .NET 2.0 app. To the user though, once you are on a page, there are no postbacks. First off, if you are developing AJAX applications, you just have to get Firebug, as they say web deveopment evolved indeed. Jay Atwood (who works for my old masters) has an excellent article at Coding Horror called Firefox as an IDE, and it pretty much echoes my sentiments exactly on Firebug. This app I am working on is a combination of ASP.NET AJAX controls, a third-party control I don't want to mention by name, and a good chunk of custom code.

So what do you do when Firebug in Firefox, you new favorite development tool, consumes 100% CPU utilization running your app and you have to crash it to get your machine back? I went through the stages of grief in about 30 seconds, and wrote off Firefox compatability with my application for a while. See I chalked it up to a problem with the 3rd party control I was using (itself AJAXed to the nines) until I had another client-side problem with the app in Internet Explorer and the thought of debugging this without Firebug seemed a fate worse than having to sit through Year of the Dog. So I dug into the code, which I hadn't written, and I saw JavaScript similar to this in the execution path that was causing Firefox to hang:

var startIndex=0;

for(i=startIndex; i < endIndex; i++) {
//Do some stuff here
}

This code works 100% in Internet Explorer 7, why is this causing Firefox to go crazy? Well once I figured out the execution path, I was able to breakpoint it in Firebug, because as I suspected Firefox is getting stuck in an infinite loop. What happens? i is reinitialized to startIndex after every run of the loop. You have to declare the loop like this for it to work fine:

var startIndex=0;

for(var i=startIndex; i < endIndex; i++) {
//Do some stuff here
}

Putting the var before i is the way it ought to be as far as I can tell, but both Internet Explorer and Firefox do the wrong thing by developers here. Both browsers should be sticklers about requiring var in a loop variable declaration and produce a clear JavaScript interpreter error before the code has the change to run. Once I found this issue, I searched through all the rest of the custom JavaScript code in the application and found that about half the JavaScript for loops were declared with var and the other half were not. Fixing all these loops resolved all the weirdness (but not out right infinite loops, odd) other developers and some testers were reporting using Firefox, imagine that!

Wednesday, April 25, 2007

Where does Apple stand on Rich Internet Applications?

Ryan Stewart @ ZDNet.com asks because Steve Borsch is wondering, who was pleased when Ryan Stewart originally asked the question and later followed up with predications for the Rich Internet Applications (RIAs) space. Confused yet? Here's the gist of all 4 posts.

Apple is great at application experiences, has Quicktime on 50 million (take # of iPods sold and divide by randomly picked divisor) Mac+PCs, and Adobe and Microsoft are already in the game, when is Apple going to drop the hammer and make Quicktime a ubiquitous cross OS runtime for RIAs?

An interesting theory, but that's all it is. If you believe the desktop is dead and that Apple is "skating to where the puck is going, not where it's been", then it seems Apple has to get into the RIA game. Could Eric Schmidt, Google's CEO, joined Apple's board for related reasons? That is just as much idle speculation, which is great fun, but doesn't give us any answers. Unless a cross OS runtime is one of he Leopard "Top Secret" features, there is near zero evidence that Apple is going to play in this space at all. If that were true, I for one would be shocked. But let's look at what we know is coming in Leopard:
  • Core Animation. Click on the link, watch the demo, and imagine fluid easy to develop animation being added to all of OS X and applications. Sweet right, but this is going to differentiate OS X from Windows and Linux, with RIAs nascent right now, no way Apple gives away the new crown jewel to knife Leopard in the back...yet
  • Xcode 3.0. No sign of a declarative user interface generation tool, its drag-n-drop and binary nib files for the foreseeable future.
  • Objective-C 2.0. The most complete and serious overhall to the Cocoa runtime and Objective-C language since, well possibly it's inception. Objective-C and more importantly the Cocoa runtime has been cross OS before, so its tempting, but this combination is another key differentiator that makes OS X apps what they are.

Looking at that list of developer technologies, it seems like Apple is doubling down on OS X desktop apps. With OS X inside Apple TV, iPhone, and eventually iPod, where do they have time to put together an RIA platform?

Follow the Money
Why does it make sense for Adobe and Microsoft to develop and give away a cross OS runtime? Because they have tools, lots of them, for you to buy to build stuff for their respective run-times, and they will be competing nearly head-on now, from design through development. How does Apple make money? The same way it always has, selling hardware. Software is a necessity to move hardware, which is why Apple develops an increasing number of applications itself, keep their hardware different from everything else. Xcode is free with every Mac and free to download if you simply register as a developer with Apple, no money involved. Adobe and previously Macromedia have been Mac OS supporters (in all its forms) for a long time. Apple moving to compete directly against Adobe in a total war seems nearly out of the question. The Intel version of Creative Suite 3 is going to move a lot of Macs (witness the cross promotion), and it doesn't hurt that at least some are finding the OS X version a better performer than the same version of the product running on Windows.

Monday, April 23, 2007

Where are the Silverlight developer tools for Mac? Also, new Bubblemark tests.

The Furrygoat Experience says Silverlight: No Mac Love? Wait, Silverlight (I actually like this name, but given the first name, how could it not be better) WPF/E runs on the Mac, what's this person talking about? He's talking about no Mac developer love, no development tools, no documentation, and no HD VC-1 encoding (required for Silverlight, hello, get H.264 in there) tools are being offered by Microsoft, and in some cases for no good reason (at least through the documentation bone).

I downloaded Silverlight, the runtime formerly known as WPF/E, back in Feb when it was first released, and I too was disappointed that on the Mac all you got was the runtime, but then I didn't think much more about it because this is Microsoft and it is exactly the sort of thing you expect.

Speaking of Silverlight, bubblemark.com has a new 3D demo. This is in addition to all the other 2D tests I had run back in Feb, which compare Silveright to Flash/Flex. There are now some Apollo apps to run as well. The 3D Silverlight demo on my MacBook Pro was getting 9 fps, that's not a typo, and Safari is using about 105% of my two cores. The Apollo 2D demo was getting 93 fps using 60% of my two cores. I didn't shutdown anything to run my tests, including Parallels.

Getting less for more with traditional TV

When browsing around iTunes, I saw something that I was shocked by at first. Since most of the TV Shows I have bought are all from the modern era (00s on), I just assumed that commercial-less shows ran about 44 minutes, like Star Trek Enterprise:


But then I saw that older shows actually have a runtime around 50 minutes, like Star Trek The Original Series Remastered:


Let's review. When viewers sat down to watch the episode Where No Man Has Gone Before of Star Trek The Original Series (I picked the Remastered links, running time is no different) on broadcast TV it was free to watch as long as you sat through 9.5 minutes out of 60 watching commercials, between 15.8% of the hour. Not too bad. When watching Broken Bow, Pt. 1 of Star Trek Enterprise, 15.5 minutes out of 60 were dedicated to commercials, 25.8% of the hour, a 10% increase in commerical time over the original Star Trek, even though you were most likely paying for UPN, and thus the show, either through cable or satellite TV. The only real mystery here is why people have accepted the errosion of actual show for more commercials while always paying more for TV?

What happens when your OS X startup volume is full

Once you start playing with Parallels images, ripping DVDs, and maintaining a Windows partition, even the 100 GB drive in my MacBook Pro can feel tight, hence my tip on reducing OS X and application disk space. But even if you take those measures (I clearly have) and still max out your disk, what happens when OS X runs out of space? You might see a dialog like this:


I always find it interesting what a piece of software does when it hits a boundary condition. In my mind, this is what sets the good software apart from the bad. Good software gracefully degrades or fails when it encounters a boundary condition, bad software chokes and gives up for dead. Even good software can choke and give up for dead, but the situations under which it does better be extremely rare.

This Disk Full Alert dialog (with double exclamations) is amusing to me because it's one of two times (that I know about) the OS X end user is even aware that their hard drive might be used for memory. It's only really at the breaking point for the operating system virtual memory subsystem that the user is made aware of it, and this is really the way it ought to be.

By the way, the other time the user might be aware of the virtual memory system is by setting the Secure Virtual Memory preference in the Security System Preferences. I really haven't found a reason this should be an option at all. Apple should just turn it on and take the preference away from the UI. I can see no performance difference all they way down to an iBook G4 933 MHz, why isn't it just on by default?

Wednesday, April 18, 2007

Internet Explorer 7 just stops working and a fix

It is amazing how timely those Apple ads can be, like this one called Computer Cart. A few days ago, Internet Explorer 7 (IE 7) just stopped working on Windows Server 2003 SP2, which is my development machne. Here is what the crazy unhelpful error messages, or lack thereoff, look like:
Incorrect Error Messages
I load IE to a blank site and have just entered where I want to go ;-)
This is what I see immediately after hitting ENTER. Weird how it has replaced the address with http:///
Just entering the address again, because the error doesnt' remain consistent...
Notice one thing in common among the Most likely causes? It can't be IE 7's fault, same thing with the first error message, it's either user error or the Web site must be malfunctioning.
 
 
Troubleshooting
First thing I try is loading anything of Firefox, and of course it works. I remembered that there was an Internet Explorer Event Log. I fire up the Event Viewer, and nothing, dust bunnies and tumbleweed apparently get logged here. I have never seen an entry show up under Internet Explorer in the Event Viewer, what's it for? Do you have to flip a switch? I close event viewer and start thinking, this error smells like a IE network settings configuration error, but I never touch those. Well I guess I can cruise through settings to see if something looks amise.
Unlearn what you have learned from previous IE versions or you won't find Internet Options in IE 7 (I know, hitting ALT will show the menu bar, please most people have no idea that works).
Just for completeness...
That LAN Settings button looks interesting (not really, but I had a hunch
Ah hah! There is no proxy server on my network, I have never changed this setting, but here it is, somehow this got set. And thanks IE for providing such a usefull, not, error message. Couldn't you have said IE is configured to use a proxy server, but none could be contacted?
The way things should be. How could this have been changed? I checked the Group Policies that were being applied to my machine with Group Policy Manager, none touch this setting. I can only conclude then that there is a bug in IE 7 that somehow turns this bit on.

Tuesday, April 17, 2007

Halo Revisited: Videos, Map Packs, and Betas

My friend at Backhand Volley got me started on another run of Halo craziness. I downloaded all the "vidocs" and trailers again off Xbox Live Marketplace to watch on my new HDTV (52" Mitsubishi 1080p), and then I spent some money on Halo. I must have plunked down nearly $70 in the last couple days, between the Halo 3 Pulic Beta (oops, I meant to say Crackdown ;-)) and the 2 new maps that were released for Halo 2 today, Tombstone and Desolation, remakes of Halo 1 maps Hang 'Em High and Derelict. Hang 'Em High is my all time favorite multiplayer map, I played that map so much when Halo 1 came out, very fond memories.

Just downloaded, and very nice to buy in U.S. Dollars since it's an Xbox Classic game and MS accountants hadn't dreamed up Points yet. Then I finally get into Xbox Live in Halo 2, and it's here where my lack of playing Halo 2 on Live makes me want to cry. Since all my friends that played Halo 2 are offline or stopping playing a long time ago, there is no way to play the new maps since you can only invite people to a custom game from your friends list (or so it seems I could be wrong). According to GameSpot, the new maps won't be cycled into the matchmaking system, really the only thing I can use at this point to play against other people, until next Tuesday, 4/24/2007. Damn, all I really want to do is play Tombstone on a loop, so I guess I am kinda out of luck until then. Even then, playing Tombstone will be kinda hit or miss. I guess I better convince some friends to get back into Halo 2.

Tuesday, April 10, 2007

Microsoft is Dead, or is it the desktop?

Paul Graham says Microsoft is Dead. Paul Thurrott says Microsoft is Dead?. Paul G will look like a fortune teller if he is correct in predicting that the last few years of Microsoft losing its' edge were the tipping point to a larger irrelevance. But Paul T. is absolutely correct in saying the beast from Redmond isn't dead yet. You simply can't discount the financial resources and the large number of very smart people there. One thing that Paul G. says which I don't agree with is:
everyone can see the desktop is over

Sure, some future version of the Web may in fact consume all applications that previously didn't run in a browser, but I don't see it happening for a long time. In my view, the Web will lag behind what is possible with an actual desktop application. We have been waiting for the WebOS (what would that even mean anyway?), or Web applications to fully replace desktop apps for a lot of years already. This is some interesting thought on why desktop email cruxifies browser based mail. Also, would Adobe be spending as much time and money as it is on Apollo if the desktop were dead? That answer seems obvious to me...

Adobe Air, formerly Apollo, Runtime should consume Flash Player and Acrobat Reader

Update
Robert Scoble broke the news for me that Adobe is working on a full fledged Media Player, the succesor to the Flash Player, and Scoble is the only place I see mention that it is going to be built on Apollo. Well it's on the Adobe Labs Media Player site. I swear, I had absolutely no insider information when I suggested Adobe should do this on 4/10/07 (Scoble blogged it on 4/16). Now where is Adobe Reader ;-)?

Original Post
Mike Chambers from Adobe had Apollo engineers Oliver (Goldman? He commented on this post) and Ethan on his July 14, 2006 podcast, and Oliver said something interesting, well more interesting than the rest which was also pretty good:
Flash is on like 98% of computers, [Acrobat] Reader is on like 80%, most machines already run 2 pieces of software from Adobe at least...

Those are pretty exceptional distribution numbers ( if true ;-), ), so if an end-user installs the Apollo run-time, they would then have 3 seperate pieces of Adobe software (that was hard math right!)

Why not bundle it all together? Both Apple and Google have started doing this. Apple obviously, for architectural reasons (iTunes uses Quicktime), bundles Quicktime+iTunes together. They could do more, putting the iDisk Utility, Airport Utility, and Bonjour for Windows into one big bundle, but those things have a far less logical connection, so I can understand not putting them together.Google Pack put together most Google software you might need or want, and hey it includes non-Google software, like Adobe Reader!

So why not distribute the Apollo runtime with Flash Player and Acrobat Reader? One anti-reason could be size of the combined distribution. Reader is 22 MB, Flash Player is 4 MB, Apollo Runtime is 8 MB, so that's 34 MB (all OS X Intel sizes). That is hardly worth a second thought, put it all together! One thing that also need's to be included is Adobe Update, which would work across all Adobe products that makes sure all Adobe software on a box is up-to-date. Apple has ported their Software Update over from OS X to Windows to do this, Microsoft has Microsoft Update on OS X.

But when I said Apollo Runtime should consume, I actually had the another meaning in mind, which is why would I need Flash Player or Adobe Reader at all? Couldn't they just be Apollo applications? Reader seems much harder to do, and I understand not wanting to just through away good working software, but it would be a powerful statement from Adobe if this were done. Same problem Microsoft had at the beginning and still does to some degree, if .NET is so great, how come you haven't rewritten at least some of Windows in .NET? I know, right tool for the right job, and it all depends on how Apollo is sold, but you are going to get some using this as a con against Apollo (not me!).

One more thing, .air as the Apollo app install extension is cool, don't change it!

Monday, April 09, 2007

Mac OS X 10.5 Leopard Secret Feature: Beautiful Scalability?

Tom Yager on the InfoWorld Enterprise Mac blog drops a near throughaway line about Leopard in a post calling the 8 core Mac Pro a stepping stone. Here's the line:
Leopard scales so bloody beautifully

I have seen very little of Leopard in person, so I have no way of saying if this is true or not. But I think Mr. Yager is coming close to some kind of NDA violation. I wonder if this has anything to do with his speculation that Leopard would replace/augment the XNU kernel with a hypervisor...

Friday, April 06, 2007

User experience installing Apollo applications

If you haven't heard of Apollo, it's Adobe's new cross-OS runtime for what is being calling Rich Internet Applications (RIAs, yeah another acronym) built using Flash, FLEX, HTML, and AJAX. That means you use the same skills you have been using to build Web applications to build desktop applications that run on the big 3 OSes, Windows, Mac, and Linux. Adobe released Alpha 1 a few weeks ago.

Sound kinda like Java right, except its more about pushing browser technology down to the desktop. Why should you care, isn't everything going to be all Web x.0? Desktop apps are dead right? I don't think so, they are a bunch of use cases that are too dangerous with the Web right now. I think of this as the Persistant Storage and Local Device Access (PSALDA, wow that even has a nice ring to it, and I just made it up) problem. If we can't even view text, images, and video in a container (the browser) with some interactivity without risk of losing our entire machines with the Web stack right now, prospects don't seem good for solving PSALDA without a serious rethink of the Web platform

Apollo then is about going the other way, leveraging developers investment in Web technologies and making their reach even larger. The value proposition would be: You already have to develop for the Web, everyone does, why not use the same skills for the desktop instead of forking your own knowledge base to figure out desktop development in Windows Forms/WPE/Java/Cocoa and a bunch of other sub technologies to make that work? Use what you know and extend it using the Apollo runtime to create richer user experiencies through desktop applications. Sounds like a very compelling proposition, and one I think may hit the sweet spot for the next deep knowledge dive for a lot of developers. I haven't dug in yet to see how close Apollo's promise is to reality, the first thing I did was install the runtime and then a sample application. Here is what the end-user experience looks like:

Yes, this was running on Mac OS X 10.4.8, and no I wasn't being cute (yet) and running it on Windows in Parallels. Did Adobe lift the Windows Scary Security Shield straight from XP or Vista? I am not sure I like where they going with this. I know, what can you do with this? How can you install applications downloaded from the Internet with any sense of security? It's a tough problem to solve, and I can't be too critical about it since I can't come up with a great solution right now, but having Mom or Grandma evaluate this dialog and make a trust decision is still kind of crazy. Hell, I thought about cancelling when I saw all those Stop signs.


Uh, why didn't I see some of this information on the first dialog so I had a better idea what I was installing instead of just Application: Fresh


You can't see it here, but this took all of 15 seconds to "install", which is great of course.


Hey that is not bad at all. It looks a weird on OS X though with the title bar and jelly beans in "unified" mode, and then the light blueish tones that look more at home on Windows.

I actually haven't used the application much, but is seems to work. Here is the Preferences dialog:

This looks like nothing on any platform, so maybe the main application window feeling like Windows is partially unintentional. The Preference dialog though feels wrong on the Mac, the Close button is in the wrong place, window title should be centered. And what does that other button do? Not minimize, its like a window shade, how odd.


There is definitely a lot of promise with Apollo, and I am going to take a much closer look.

Thursday, April 05, 2007

Demographic busting shocking DVD watching behavior

I had trouble even coming up with a title, this one is so bizarre

I am on the train home tonight writing this post, and sitting next to me are a pretty hot girl and a guy in his early thirties. I wasn't really paying attention to either of them, except when I closed the laptop as the train was pulling into my stop. It was then that I noticed the early thirties guy watching on his portable DVD player The Golden Girls!

I felt like the space-time continium was about to explode, I did a double, no a triple take. I couldn't wrap my mind around how this guy could decide that on his train ride home, yeah, he was going to get him some Bea Arthur geriatric action. If I was on a desert island and I had to choose between The Golden Girls and watching the waves, I take the waves every time.

Problems with Macworlds Apple TV wish list

Macworld has their Apple TV wish list, and I think there are just some flat out dumb suggestions on the list, in their order:
  • Internet streaming support. I have no problem with this one, streaming support for live evnets would greatly increase the devices utility, but doing this without sacrificing simplicity would be a challenge
  • Browsing Web video libraries. This makes absolutely no sense when you actually think about it. YouTub style video is all crap quality, far lower than what you buy on iTunes right now, and if you think that is not acceptable (the article says it doesn't, I think its acceptable), this will look absolutely terrible.
  • Buying and browsing via the Apple Remote. I agree with this one too, but I can see NOT doing it because it could be confusing as hell to the normal consumer
  • More podcasting. Sure why not, I am all for making all the categories (Movies, TV Shows, Podcasts) more alike than different
  • Photo flexibility. I have no problem with iTunes and Apple TV syncing completely, not content fractured off one library, video from another, music from another. How could you keep track of it all? Streaming photos though, that needs to be implemented.
  • More HD video. Patience young one. HD from iTunes is certainly coming, but 1080* content instead of 720p, I don't care at all. Downloading 720p is already going to be a chore for a lot of people.
  • DVD quality audio. You might as well call this More HD video part 2. Guys its all about file size, if you have 2 channels of audio now in iTunes Store bought content, and you want 5,6,7, well do the math.
  • Support for optical media. This is the one were the list goes off the rails. It is like asking for a CD player IN an iPod. And I don't think Apple wants you to buy everything from iTunes, I bet they WISH they could rip DVDs into iTunes, uh again just like the iPod and CDs, but it is currently illegal to sell software to break the encryption, even though us geeks have found ways around that and ripped DVDs work just fine in Apple TV. Apple TV will replace your DVD player, just not the limited vision way most are thinking
  • TiVo support. According to Wikipedia, Tivo has 30-40% of 10-12 million DVR market. That's between 3-5 million boxes total, and Apple is going to spend engineering dollars on a box that is not dominant by any stretch for the last gen delivery system Apple is trying to replace?!?! Not a chance it will happen.
Apple TV isn't perfect, nothing ever is, you can always add/tweak features, but some of Macworlds just don't make any sense.

Showing the download rate in iTunes

When you download files in iTunes (bought or podcast), by default you only see the estimated time remaining, like this:

What if you want to see how fast the bits are moving? There appears to be no way, but there is! If you click on the download your are interested in to select it and then click again, you see this:

Another nice little hidden feature for us techies that regular people don't care about ;-)

Sunday, April 01, 2007

Visual Studio Annoyance #002: Can you tell me why publish failed?


One of the features I always liked about Visual Studio .NET was the Publish to Web feature. For those unfamiliar, you tell VS where to send your ASP.NET web site files and it strips out all the stuff unneeded to run the site, leaving just the minimum necessary files. This is a great feature, except when it doesn't work. In Visual Studio 2005, when I started publishing the site I am working on, the first server I published too it worked fine. That's where the fun ended. You see when Publish to the Web fails this is all you see: Sadly, this is the only information you receive. Double-clicking on the status bar yields no additional clues as to why the publish "failed". So I resorted to using the Publish by Hand non-feature.

And this is no April Fools joke, except perhaps I am the fool for hoping this feature would just work.
Update
Scott Gu posted about a Public Hotfix Patch for VS "Index was outside the bounds of the array" Publish Website Issue a few weeks ago. I am not seeing the compilation issues, but the article caught my attention not just because I thought it might solve me issue, but the screenshot. It shows that the Build Output window shows you exactly what is going on with Publish! Why didn't I notice this? Because I have the Output window Auto Hide, and when I publish, it does not automatically make itself visible, succeed or fail, so I never realized anything was going on there.