Redmond Diary

By Andrew J. Brust

View all blogs

Welcome to the Redmond Review Blog

Welcome to the Redmond Review blog.

Readers of Visual Studio Magazine are already familiar with Redmond Review, the back page column written each month by Microsoft MVP and Regional Director Andrew Brust. As chief, new technology at consultancy twentysix New York, chair of the VSLive! family of conferences here at 1105 Media, and an active participant in .NET development community, Andrew is in a unique position to observe, judge and comment on the .NET development space.

He'll be doing a good deal of that observing and commenting right here, at the new Redmond Review blog.

Next week, Andrew will be in Las Vegas, attending Microsoft's SharePoint Conference 2009, where developers can expect to hear important news impacting SharePoint 2010, Office 2010 and other key development tools. Andrew will be offering his observations and opinions from the conference, and will continue to blog in this space going forward.

Michael Desmond
Editor in Chief, Visual Studio Magazine

Posted on 10/16/2009 at 1:15 PM0 comments

Gemini Does Cloud!

I'm participating in the Microsoft Gemini CTP (Gemini is the self-service BI component cooperatively provided by the forthcoming SQL Server 2008 R2, Excel 2010 and SharePoint 2010) and the SQL Azure CTP. I found intriguing the question of whether these two CTP technologies could be used together. Turns out they can!

I successfully got Gemini to import data from a SQL Azure Database (after migrating the AdventureWorksDW2008 dimCurrency table into an Azure database called AWCloud)!

I set up the connection like so:

[Click on image for larger view.]

Note the [email protected] syntax in the User Name field). The other tricks to keep in mind are that (a) You must type the database name in manually, as Gemini will not be able to pull down a list of databases from the server and (b) likewise, you'll need to select data using a SQL query because Gemini will not be able to pull down a list of tables either:

[Click on image for larger view.]

It's a good idea to use that Design button to test the query's result set before clicking Next. Use the red exclamation point (Execute) button to get the data back:

[Click on image for larger view.]

Then click OK, Next, Finish and Close. Here's the very cool result:

[Click on image for larger view.]

Posted on 07/28/2009 at 1:15 PM4 comments

Testimony to the New York City Council on Intro 991, Proposed Legislation for Open Data Standards

Good afternoon. My name is Andrew Brust. I am the Chief, New Technology at twentysix New York, a consultancy specializing in application development, business intelligence and other software technologies. I am also a native New Yorker and former technology professional with the City of New York. In the mid and late 1980s, I was a programmer for the Department of Parks and Recreation and later I was the Computer Systems Director at the Department of Cultural Affairs. Thank you for allowing me to read my testimony today; I'm sure you can understand that given my career history and my current position, I have great interest in this legislation.

The language in Intro 991 seems to speak implicitly to a number of important features, advantages and a technology premise for the City's data sharing platform. But a number of these points deserve to be called out explicitly, so I hope it's OK that I do so briefly here. Beyond those points, there are some less obvious, but equally important, capabilities that I'd be grateful if you'd consider, and I will mention them briefly here as well.

Outbound Interface and Content
Let's start with the interface the system will provide to its users and consumers. I think it's incredibly important that the system provide data in a relatively raw form that developers can work with, rather than in a full-blown end-user interface. The reason why should be clear: developers will provide and produce interfaces and integrated services that use and serve the data. Should the City or various of its agencies wish to do as well, that's fine. But the primary mission should be to provide an information platform that developers and entrepreneurs can innovate on top of.

Of course, if the data is provided in the right format, then transformation of it from machine-readable to human-readable form should be almost trivial. Today, the Atom Syndication Format, which is a particular schema within eXtensible Markup Language, or XML, is a common format for arbitrary, structured data and it can be rendered in human-readable form by most modern Web browsers. The REpresentational State Transfer, or REST, standard is arguably the most popular service protocol for allowing such data to be queried. And so I would certainly recommend that Atom and REST be supported.

But the reality is that other formats are important as well. On the data presentation side, these include JavaScript Object Notation, or JSON, as well as older formats like the longstanding comma separated values, or CSV, format. On the Web service side, Simple Object Access Protocol, or SOAP, is very important too. It was the first format supported by Web services and is still the most popular such format in the enterprise software development space. Each and all of these standards should be supported. That may sound like a tall order, but with proper design, it's in no way out of reach. The best way for multiple formats, including formats not yet introduced, to be supported, is to implement things in such a way that the data is produced in a single, flexible format that can easily be transformed and re-published in virtually any other format. Similarly, the query logic should facilitate development of "layers" of code around it that support specific service protocols.

Reading and Writing
The system should allow writing data, in addition to reading it. City residents should be able to submit a tennis permit request through this platform, or even pay a parking ticket, or a water bill, or City income tax bill. City natives should be able to request a copy of their birth certificates, and numerous other submissions should be accepted, in addition to mere queries for information.

Back on the reading side, users and systems should be able to retrieve non-structured data, including archival photographs of specific City lots, maps, titles and deeds, audio from major speeches made by the Mayor and video of Council meetings and hearings as well. Ultimately this could more than make up for the loss of WNYC-TV. The fact is that Channel 31 was a video authority of record, and the loss of it has been significant; the data platform contemplated by this bill, if it supports rich media in addition to textual data, could bring about services that fill the gap left when WNYC was sold off, and go well beyond the services that linear, broadcast television can deliver.

License Issues
Beyond the formats, protocols and content that are produced, this system will require innovations in licensing as well. The availability of the data that this platform could produce will enable unprecedented analyses, products and services, useful for both commercial and social services pursuits. But to make possible a number of different query and data visualization services, applications will need to cache, aggregate, slice and dice the system's data. To do so, they will need to stage the data in local or hosted databases and the City should expressly permit this so as not to impede the innovation that would result.

Beyond a permissive regime around the availability of data, the City will also need to allow companies to make a market, and to charge, for the value-added services they build on top of the public platform. Certainly, companies should not be charging for the mere redistribution of the data, but they should be permitted -- indeed encouraged -- to build user-friendly front-ends, interesting "mashups," innovative analyses, and inventive integrations of the platform's data.

Google Maps should be able to show where the big potholes are; Zagat should be able to indicate which restaurants have a sterling Health Department inspection record; WebMD should be able to create heatmaps showing which neighborhoods are hardest hit by an epidemic, and the New York Times ought to be able to indicate which boroughs and neighborhoods are getting the most, or least, arts funding.

Retail consultancies should be able to show which precincts are best and least served by certain types of shops. Tourists should be able to see where the cheapest hotel rooms are and where the most availability exists. Members of this Committee should be able to see how well Verizon is living up to its commitment to deploy FiOS service to all areas of all five boroughs.

Children's Aid Society should be able to illustrate where concentrations of child homelessness and abuse exist. Food for Survival should be able to show which ethnic, geographic, economic and age groups are most susceptible to hunger. And none of these organizations should have to stop and wonder whether they are using or republishing the data in some unauthorized form.

On Being Open
Back to the technical now and, to an extent, the political. Consider carefully your use of the word "open" in the title of this legislation. I think everyone can agree that all data and infrastructure under this initiative should be useable from virtually any platform, programming language and type of device. If that's what is meant by the word "open" in Intro 991's language, then all is well. But if "open" is somehow meant to connote a requirement that Open Source technologies be used to serve or consume the data, or that any software that does so be required to comply with GPL or other Open Source licensing, then we will have a huge problem on our hands.

Rather, the City and its agencies should be permitted to implement the back-end platform as they see fit, whether they do so using Java, PHP, Ruby, C#, Visual Basic or COBOL. I would imagine that agency implementations would need to be signed-off upon or certified by DoITT, but as long as they produce their output and solicit their input using the correct formats, standards, protocols and interfaces, that should meet the whatever litmus test may exist.

I'd like to close on an issue of civic pride. The City of New York is a unique municipal government within the State. Most cities are contained within counties. The City of New York, as you well know, comprises five counties, and provides the services that in other parts of the State are delivered by special districts, incorporated villages, towns, cities and counties. As such, our data standards system should serve as a model for each of these distinct types of government within New York State. So let's not just do this the right way. Let's do this in an unprecedentedly exemplary, creative and exciting way. Let's make this the time in history when the economy was down, but the great tradition of commerce and ingenuity in the City of New York was nonetheless invoked to bring about innovation, opportunity and a new standard in good government, adopted by other governments in New York, and other states.

Thank you again for the generosity of your time, attention and consideration. And, once again, good afternoon.

Posted on 06/29/2009 at 1:15 PM0 comments

Microsoft and True Grit

Last week, i.e. in a single week, Microsoft was on real tear: the company announced a release date for Windows 7, disclosed details of Zune HD and Zune's integration into Xbox Live, discussed Project Natal and other coming improvements to Xbox, and launched its Bing "decision" engine.

And all this week, at a special software design review (SDR) event, Microsoft is introducing major new business intelligence features coming in SQL Server 2008 R2, including its project Gemini product that helps rogue "spreadmart" projects graduate into managed end-user BI projects that can be moved to the server, and which IT can support and monitor. (more on Gemini when the NDA embargo is lifted.)

I'm attending that SDR myself this week. And I'm wondering: is Microsoft gaining traction, in a way it hasn't recently? And if it is, will it keep its eye on the ball and keep climbing the trajectory toward success?

Microsoft sure is the underdog. Its flagship operating system, music player and search engine have all been bona fide laughing stocks in their respective spaces. Is a comeback possible? Even if Windows 7 is stable, relatively pleasurable to use and modern, can it erase the black marks left by Vista? Can it disarm the humor in Apple's television advertisements and somehow thwart that company's famed Halo Effect?

Even if Bing provides better relevancy and some innovative ways to organize and cross-reference related searches, will that really tempt people to stop using Google? And if they do, will it be for more than a novelty trial period?

Despite Zune's relative elegance and proverbially strong version 3 software, will people, in any significant numbers, give up their iPods and iPhones, especially when Zune offers no converged mobile phone device (and when Windows Mobile is not exactly a good omen in that department)?

And as marvelously successful as the Xbox franchise has been, will Project Natal technology really work reliably outside a demo scenario? What if even one in every 300 gestures is missed by the cameras? Imagine losing a game because controller-less play caused your maneuver to be missed. What if people take a test drive with Natal and then just go back to using their controllers? What if the tweets and blog posts and comments turn into a flame war death match against Microsoft?

Let's be honest. These battles are all still enormously uphill, and common wisdom says the answer to many, if not all, of the above questions is a big, fat "no."

Windows 7 will probably suffer from at least some guilt-by-association with Vista, and netbooks pose a huge danger to its license revenue story anyway. Bing will likely gain only some share in the search market and even if Redmond does consummate a deal with Yahoo, Google will still be king. The iPod's not going to lose its franchise overnight; not even close. The Xbox is cool, no doubt, but it's a long shot for the game console to turn what was science fiction into marketable reality.

So what can Microsoft do?

Microsoft should do what it has always done to win its competitive battles. Work diligently, stay focused and gradually improve products in the stack, despite what the critics stay (even if the critics are kind). Microsoft needs to take the long view, and avoid trying to score some sudden, dramatic comeback on these fronts.

More consistency and tenacity; less hubris. Acknowledgement of the competitive threat, rather than dismissal of it. Smart people leading teams and less talented people not rising to leadership positions out of mere seniority. That's what Microsoft needs, and I'd argue that's the playbook the Windows 7 team, the Bing team, and the Zune team have been playing from.

I just hope they keep that book open and near them at all times. Grit, not heroics, constitutes the winning formula.

Posted on 06/08/2009 at 1:15 PM0 comments

Upcoming Events