The new site:  http://www.brandonlive.com

The new feed:  http://brandonlive.com/?feed=rss2

 

So update your bookmarks and subscriptions!


They say my car won't arrive until the 29th... I'm hoping that it will come sooner, but the auto shipper's tracking site says it hasn't left my hometown yet.  Until then, the Chevy Classic will have to do.  It's similar to the rental they gave me when I interviewed.  I'm happy to have something to drive while I wait for my car, but man oh man do these American cars feel so cheaply made.  Most of my friends drive Acuras or Toyotas or VWs, and that Chevy that I drove last time I was here was only the second American car I'd ever driven (the other being my cousin's Saturn).  Needless to say, I was none too impressed.

The Ford Focus is the only car that looks like a decent offering from a US manufacturer.  Unfortunately, we don't get the cool version (the Focus RS) here in the states.  Seems odd doesn't it?  That the coolest sport hatchback from an American manufacturer isn't sold in the Americas?!  Never figured that one out.

The new Five Hundred looks nice, but only because it's an exact copy of the VW Passat and old Audi A4. 

2005 Ford Five Hundred

2000 Audi A4

2002 Passat (based on the same platform as the 2000 A4)

 

 

Of course, the Ford is designed by the same guy.  Guess he likes making the same car over and over :)

As for other American manufacturers... GM seems desperate as of late.  Their “employee discount for everyone” reeks of ill confidence in their products. 

At the higher end Cadillac finally learned how to build a compelling sports car (the CTS) but still hasn't figured out how to make a quality interior.  Still, progress is progress and they deserve credit for that.  Meanwhile Chrysler is making eye-catching but otherwise second-rate cars like the 300.  Dodge is still advertising HEMI like it's a good thing, going back to an idea that was abandoned decades ago for a reason.  Meanwhile the Germans (Audi) have mastered a new technology called Stratified Fuel Injection which provides the same benefits without the inherent sacrifices of a hemi (like only have two valves per cylinder, and added heat).  It improves both power and fuel efficiency, and includes the injection of fuel directly into the combustion chamber (not into the intake manifold like most fuel injected engines).

Happily my A3 has that “FSI“ technology, and soon all Audis and many VWs will.


A frequent question from InfoPath users is “How can I pass parameters to a new InfoPath form when it is created?”

Unfortunately, there’s no built-in functionality for passing command-line parameters to infopath.exe.

BUT, that doesn’t mean it can’t be done J

Note that the solution below requires the InfoPath SP-1 Preview.

Solution:

Jscript files can instantiate InfoPath with a new form from a template using NewFromSolution().  Jscript can also access the InfoPath DOM and pass parameters to it.  And finally, Jscript files can also accept command-line parameters.

Usage: 

In my case, I wanted my C# application to pass parameters to a new Form.  Basically, the user (running my App) searches the SQL database for a customer (in my case, patient) account.  They can then view/edit all of that account’s data right in the app.  The user can then select a date and time for an appointment and click “Create Encounter.”  This button calls my jscript file, passing it the ID number, date, and time that were selected.  The Jscript file creates a new InfoPath form from the template, and fills in the ID number, date, and time.  The Form Template has the “AfterChange” event for the ID number text box set so that it queries the database with that ID number, which returns that customer/patient’s information and populates all relevant fields in the Form.  It then closes InfoPath, and my application simply says “Encounter file created.”

The form’s submit code puts it in a SharePoint library with a unique filename generated from the ID number and date/time of the appointment.

Calling the script:

In VB .NET, this is a simple matter of:

Dim ProcID As Integer
Dim Proc As Process
ProcID = Shell("cscript script.js " + IDnum + " " + Date+ " " +Time + " " + AMPM)
Proc = Process.GetProcessById(ProcID)
Proc.WaitForExit(3000)
MsgBox("Form created.")

The Script:

//myscript.js
//parse parameters
if(WScript.Arguments.count()==4)
{
var param1 = WScript.Arguments.Item(0);
var param2 = WScript.Arguments.Item(1);
var param3 = WScript.Arguments.Item(2);
var param4 = WScript.Arguments.Item(3);
}
//Start the application
var oApp = new ActiveXObject("InfoPath.Application");
WScript.Echo("InfoPath Version: " + oApp.Version);
//Open an InfoPath document from the published template
var oXDocumentCollection = oApp.XDocuments;
var oXDocument = oXDocumentCollection.NewFromSolution("http://server/Forms/template.xsn";;);
// Get pointers to the target fields
var oID = oXDocument.DOM.selectSingleNode("//ID");
var oDate = oXDocument.DOM.selectSingleNode("//my:Date")
var oTime = oXDocument.DOM.selectSingleNode("//my:Time")
var oAMPM = oXDocument.DOM.selectSingleNode("//my:AMPM") 
//Update the fields
oID.text = param1;
oDate.text = param2;
oTime.text = param3;
oAMPM.text = param4;
//Submit the Form
oXDocument.Submit();
//Close up shop
oXDocumentCollection = null;
oApp.Quit();
oApp = null;

This is a ready-to-go script file and all you need to change is A) The number of parameters B) The location of your template and C) The names of the fields you wish to populate.  You also may not want to submit the file or close InfoPath.  Or you may want to use oXDocument.SaveAs();


I forgot to check at the airport, so I’ll do that when I leave on Wednesday.  But sadly, I’ve yet to see the big 1X icon change to a beautiful Ev (signifying a 500kbps data connection) on my phone anywhere.  Oh well, at least we know it’s coming J 


“Personalization means different things to different people.”  - Ken Moss 


http://www.flickr.com/photos/tags/searchchamps/ 

My post Calling MSN Desktop Search from your Application has been updated.

A major flaw was discovered because I wasn't updating the length fields in the PIDL structures.  Since I didn't do very thorough testing (ie. testing input strings longer than 7 characters) the problem wasn't immediately apparent.

This has been fixed.


They finally figured out how to get geeks to watch ESPN…

 

http://www.easports.com/games/madden06/nextgen.jsp 

I wrote this on the plane, but didn’t get around to posting until now.  Take it, Brandon from 2 days ago:

Seattle was an absolute blast.  I understand 100% why Chris Pirillo decided to move there after the first Search Champs program.  I’m writing this now from the jet while we’re about an hour from home.  I’m offline, so I won’t be able to link to other Search Champs related posts until I’m home.

First, let me tell you a little more about Seattle.  As I mentioned in a short interview I did with Chris (more on that later), I felt like someone must have been playing a trick on us.  The weather in Seattle was absolutely gorgeous - not at all what I was expecting.  There was not a single cloud in the sky during the 3.5 days that I was there, and the temperature was exactly where I like it (not too warm, not too cold).  The view of Mount Rainier is phenomenal.  I was floored when I first saw it sitting spectacularly on the horizon.

The only negative comment I made the entire time was about the traffic.  But pretty much every city ever has more traffic than Albany.

On to Search Champs…

There are many things I’d love to tell you about that I cannot, because of the NDA.  Fortunately, though, plenty of interesting stuff (especially the info regarding MS Research projects we saw) is exempt from that agreement.  You can be sure I’ll be blogging about one of the desktop search-related projects, named Tesla, very soon.

Regarding the MSN Search team themselves, I cannot praise them enough for their passion and desire to make their products and services better.  Unfortunately, it sometimes seems that they’re being held back. 

The most important advice I could give the MSN Search team was this:

You cannot get ahead by following the leader.  On this market’s current path, Google is moving faster than you.  So how do you get ahead?  Forge a new path for the market.  Make Google turn around and say, “Shit, how did we miss that turn?”

Historically, this approach is not new to Microsoft.  They used to do it all the time.  In fact, I think their Xbox division is doing it right now.

Improving your basic search relevancy is important, and I’d never say otherwise.  But you guys need to focus on features that Google lacks.  And show your customers how they can be more productive on your engine.  Focus on Search Clustering.  If you roll that out before Google does, and show people how great it is (if you need help there, e-mail me)… I bet you’ll see your userbase double overnight. 


Apparently some G-mail users now have access to “Google Clips” – which lets them view RSS feeds inside of Gmail.

 

booyah

 

After painstaking effort (If I never see another PIDL it'll be too soon)... I have bent the MSN shell extension to my will!

 

Edit:  Just noticed this was my 100th post.  Fancy, that.  Oh and don't worry, I have much prettier/more useful plans for this application given its new abilities.  I've also fixed some bugs in the shortcut creation routine (even what I posted the other day still has a ~100 character query limit).

This is why I love developing in .NET

booyah2

Hopefully later this week or next I'll be able to post a beta version and start looking for some feedback (although feel free to post any right now, just know that this is very early work).


I’m sorry… this just isn’t very impressive. 

I hope tomorrow’s keynote and the rest of WinHEC is more exciting.

The WinHEC build (5048) is in the hands of some visitors already.

Here’s the scoop at Winbeta. 


And never wanting to see one again?  I seriously have spent hours over the last few nights trying to figure out a seemingly random error that would occur every few searches (sometimes every 10th, sometimes every 40th) in the search app I’m building.  It turned out the problem went back to that self-inclusive length property that’s part of the SHITEMID structure (ie. the IDL part of the PIDL).  So I’ve fixed that.  As such, my current code won’t support queries over 92 characters in length, but that’s only temporary.

So now that I’ve got that working smoothly, I can start working on actually making something useful.  I’ve got some ideas, but I need more!

If you look at the screenshot I posted – I can give you some idea of how it works at this moment.  When you launch the app the “What to look for,” “Where to look,” and “Group by” widgets are all that you see.  When you check “Documents,” the Documents options appear (and the search immediately updates to show just documents).

I’d like to offer two main uses for this app:

1)      Better searching.  By exposing search fields like the Author field you see above.  And by giving you advanced options relevant to the type of item you’re looking for.

2)      Search by browsing.  If you’ve seen Tesla or the Longhorn demo that was given during Bill Gates’ keynote at WinHEC today, you’d know how great this idea is.  Unfortunately, because I don’t have any direct access to the data indexed by MSN yet, I can’t pull out tags like “authors” (looks something like this).  I hope that a future release of the MSN DS will allow us to do grouping in that way, one way or another.

Actually, I’ve given myself a third goal:

Convert Chris from Copernic ;)



I never thought I'd hear myself say those words.

Disclaimer: I haven't tried it myself, and I'm sure it's got plenty of flaws.  You don't need to tell me about all of them.  But hear me out.

Real has finally one thing right (being a first for Real since the company's inception, this is a big event):

With their newest update to their Rhapsody service, they're supporting multiple codecs, even those made by their competitors.

They even have Rhapsody To Go now which supports “janus” Windows Media DRM devices (like my Zen Micro or the iRiver H10), which is essentially Napster's “To Go“ service, except not.

They also seem to have updated their “Harmony” support for the iPod, meaning that users of Apple's crippled MP3 players can buy music from Real and listen to it on their devices... that is, until Apple realizes that someone is trying to give their customers an actual choice and once again releases a firmware upgrade that kills Harmony.

Unfortunately, Rhapsody To Go still won't work on an iPod.  And it seems that it probably never will, given Steve Jobs' attitude toward subscription models.

But it's good to see someone in the industry catching on.  The codec wars have got to be one of the most anti-user phenomena I've ever seen. 

By supporting the greatest number of media codecs that you can, you reduce the chance that one of your customers or potential customers is going to find your product useless, or become frustrated when it only works with some of their media.

The thinking behind a lot of the current strategies is that:  If we make people like our codec, they'll use it for all their stuff.  Well newsflash:  Most of my media wasn't encoded by me.  And I'm not just talking about the more nefarious methods of obtaining media in a format beyond your control, though the number of people who have that problem these days is huge.  I'm also talking about:  Media encoded by a device (DVR box, portable player/recorder, Media Center, roommate's Mac, digital camcorder) or downloaded from another source (movie/game trailers, podcasts/videoblogs, news clips, videos sent by family/friends, etc).  And then there are the 3 different legal DRM'd music download distributions, and un-DRM'd music distributors (like livephish and DMB's live trax - which use unprotected FLAC, mp3, and wma).

Get it out of your marketing genius head that I'm even ABLE to have all of my media in your format.  That's just not going to happen.  So if you want me to use your product, do what Real has done here.  Do what made Xbox Media Center (the homebrew one) so popular... Support every format that I might find a file in.  Every single one.

Chris Pirillo blogged about Microsoft and Power Users having experienced the Longhorn presentation at WinHEC this week.

Now, I’ve been commenting a lot on Neowin, Scoble’s Blog comments, and other places about how this is a hardware engineering conference, and how the build of Longhorn that was distributed is meant only to provide those hardware engineers with what they need to start building drivers for Longhorn.  A lot of people who have seen the screenshots of this build have complained that it “looks like Windows XP with a different theme.”  To them I’ve said, things like “This build wasn’t meant to impress you.”

I stand by those comments, but Chris hit on another important issue.  He’s not upset that WinHEC isn’t for users.  He’s upset that there IS NO WinHEC for users (or Power Users, or users enthusiastic enough to care that they’re being ignored).

I think he’s right.

And what’s more, I think Microsoft made a mistake at WinHEC.  The build they handed out to hardware engineers was everything it needed to be, so that’s not the problem.  No, the problem is the build they showed up on the screen.  The problem is that the on-screen demonstrations had little or nothing to do with hardware engineering and driver development.  They showed what the Start menu looks like in the current build.  They showed how Desktop Search is implemented in the pre-beta.  They showed some interface enhancements for Windows Explorer and a few neat ideas like the shortcut lists – and also some hints at a very good tag-based Virtual Folder system for organizing your stuff.  They even showed off some fairly lame transparency/transition effects.

But none of that had anything to do with hardware engineering.  And when Windows enthusiasts everywhere (including, of all people, Paul Thurrott) express disappointment with the demonstration, you can’t say “Well it’s a Hardware Engineering Conference,” or “Well that’s not what it’s really going to look like when it’s done, that’s just what we have working right now.”

My response to that reasoning is simple:  If this was really just for hardware engineers, don’t show us User Experience demonstrations.  More importantly, if this isn’t what you expect it to look like when I actually get to use it, don’t even bother.

So what’s the answer to this problem?

Make a third Windows conference.  Put it somewhere between WinHEC and PDC.  Make this the place where you show off Windows to your fans and to the press, kind of like what happens at E3.  Don’t put a demo up on a huge screen of the current build.  Put up a well-made demo of what you currently expect the final version to look like.  Hell it could be a Flash demo for all I care; it doesn’t even have to be interactive.  Although, the more realistic the better.  But include some real “Wow” factor.  This would be the Windows team’s chance to be rock stars for a day (you know, like Steve Jobs is at every Apple event ever).  I bet they’d have a blast.

Oh, and do yourselves a favor:  Bring back that sick Alt+Tab animation you had in last year’s build of Longhorn.  That alone impressed people more than anything you showed at WinHEC.


I made this so I could link to it to explain to people how Windows versions relate to each other (since microsoft doesn't always make it very clear).

http://photos9.flickr.com/11421415_dd5a28bdce_o.png

So I was reading Kevin Daly’s comment to Chris Pirillo’s response to Andre Da Costa’s rebuttal to Chris’ post about WinHEC and Longhorn.

Let’s try that again…

So I was reading something. 

As I read Kevin’s comment, this part got me thinking:

Something to consider: much of what people eventually interact with in Longhorn will be built on Avalon, but Avalon as all of us who've installed the CTPs know is not yet nailed down - so the more code you write around it now, the more you'll have to re-write.

Point taken… Now I’m no carpenter, but I bet when you’re building a house, you don’t start putting up the walls before the foundation is dry.  On the other hand, you do have a plan for how things are going to look.  And you’ve probably consulted with the people who are going to live there.  Put it this way:  You don’t wait until after the foundation is finished to ask them what the dimensions should be. 

I think OSes are the same way.  And this goes back to what I’ve said before:  Longhorn doesn’t need to be ready to live in.  They don’t even have to give out a build.  Just show us what you’re planning to do with the UI.  Ask us, “How does this look?  What should we do differently?” – don’t wait until it’s finished and say “Yeah you’re right, we could have done that better.  Oh well, too late now, code is frozen.” 

The days when that was an acceptable answer are over.  Microsoft isn’t Apple.  They can’t expect that their fans are going to love every single thing they do unconditionally.  In fact, they have quite the opposite problem.  Most people are looking for reasons to dislike what Microsoft does.

The more you involve the enthusiast community, the better off your product will be.  And not just for those power users.  It’s the power users that tell the average users what to buy.  It’s the power users that tell their family and friends all the cool shit that the other guys are doing.  Give us something to show them.  Help us get them excited about Windows again.  Remember the launch of Windows 95?  Remember people lining up at midnight to buy it?  Have you noticed how that hasn’t happened once since 1995?  It happens for Apple though.  It happened for Halo 2.  If you listen to us, it could happen for Longhorn.

The short interview that Chris and I recorded while I was at the Search Champs event is now online for your listening pleasure.  We talked about the move to 64-bit Windows operating systems, MSN Search and Desktop Search, as well as the Search Champs event in general.

While at Search Champs, Chris recorded some other interviews as well:

Mick Stanic – (aka SplaTT) whose blog was one of the first I subscribed to.

Buzz Bruggerman –of ActiveWords fame.

Marc Orchant – Master of all things Tablet.

I highly recommend you check out each of these.


About an hour after I suggested a “Windows Champs” event, Scoble blogs about Team 99.  He’s asking for his readers to nominate members/invitees for this event (I’ve already suggested a few myself) over at Channel 9.

One of the three parallel IDE drives remaining in my computer is dying.  I’m not sure which at the moment, since they’re all in a span array and I’m more concerned with getting all of my precious music and videos off of them.  I’d been meaning to do it for some time, knowing that at least one of those drives had been acting funny and that the disk span was, well, fault intolerant.  But I just kept putting it off.  Well, today, after a spree of delayed-write failed messages, the urgency of this matter became clear. 

I’m tempted to just do away with these Parallel ATA drive altogether.  I’m certain the newest of the three is fine, so I’ll definitely find it a new home if it leaves my computer.  The other two I don’t trust quite so much (they’re the same model of Western Digital Special Edition drives). 

My primary system disk is actually two WD Raptors in RAID 0 that have been fantastic.  My main storage disks are two Maxtor 16MB cache 300GB SATA drives in RAID 0.  None of these disks has had any problems (knock on wood).

Maybe it’s time for one of those new-fangled networkable hard drive dealies.

 

Followup:  The disk isn't actually losing any data.  Scandisk finds nothing wrong with it.  It simply has a habit of “falling asleep“ and not waking up again properly.  I can reactivate it in Disk Manager after it does this and it works fine (for a while).  I'm still planning to remove it from my system... but at least no data was corrupted.

It looks like a Toshiba design engineer ran out of time in developing the new Tecra M4, and decided to just hit the “zoom” button while looking at the M200 spec and submit that instead.

That's the new Tecra, here's the original M200:

 

Oh okay, if you look closely, it looks like the buttons on the screen were reversed.  Still, I think this is a good example of not changing the formula when it already works so darn well.


But I haven't been completely non-productive:

 

DS-64

News

The views expressed within my blog are my own - and are not in any way indicative of those of the company I work for, Microsoft, or it's employees.

Article Categories

Archives

Post Categories

Blogs I Read

Desktop Search Links

Syndication: