Jeff Raikes interview - Print Preview

Interview with Jeff Raikes, president of the Microsoft Business Division and a member of the senior leadership team, from the Guardian covering piracy, Office 2007 UI, SharePoint, etc.

But the part that caught my eye was:

"As an example, what happened with Mac Excel in 1985 was that we had a programmer called Steve Hazelrig who was doing the printing code. Laser printers were expensive then, and ours was way down the hall, so Steve wrote a little routine that put an image of the page up on the screen, with a magnifying glass so he could examine every pixel to make sure he had an accurate rendering of the page. The program manager Jake Blumenthal came down the hall and said: "Wow, that would be a great feature." That's how Print Preview made it into all of our products: no customer ever asked for it.

So the trick is to understand the things people want to do, and they may not know to ask for them, but the opportunity is there. So I think it's more important to understand what customers really want to do, and to make sure we deliver on that."

Whether that is completely true or not, it's a good reminder to understand what people really want do with software and it work for them.
with 0 Comments

Little changes, potential securiy risks

I thought this was an interesting post talking about how to login to an expired (Windows Genuine Advantage activation system) Windows machine.

Basically involves using the Narrator program for accessibility to launch Internet Explorer where you can then browse to your local files, etc.



What I find interesting is by a simple hyperlink in an about box you can bypass the intended security - one simple looking change that wasn't completely thought through in all usage scenarios.

Disclaimer: I do not agree with breaking your EULA by doing this.
with 0 Comments

Splitview for your monitor

Handy tool, Splitview, for people wanting to simulate dual screens over Citrix / RDP sessions.



I've mentioned before about productivity boost of having multiple monitors and Scott Hanselman agrees.

Not related but on similar note, Visual Studio 2008 will going to support viewing/editing code and design together for ASP.NET and WPF.
with 0 Comments

MojoPac Virtualization

I was asked the other day if I knew how this piece of software works, MojoPac by Ringcube.

It is a relatively new product funded mainly by venture capital, the idea being a portable virtualization platform. It can be installed on a USB key and then when plugged into a host brings up your MojoPac desktop with your applications/data available but without the performance overhead or client install = great for corporate mobile workers.

After a bit of poking around using task manager, process explorer and other sysinternals tools it seems to be dynamically loading a kernel level driver to 'hide' itself similar to how rootkits work. Good interview Steve Gibson and RingThree which confirms my thoughts.

That seems a bit scary to me and also likely to be closed or made more difficult by Microsoft if it is using undocumented or security holes to work.

Rootkits got alot of press from the Sony DRM issue recently. RootkitRevealer from Sysinternals is a handy tool and Microsoft Research also have tools to help you check for hidden kits.

Another very good resource is this presentation, Hidden RootKits in Windows (ppt).

A interesting product that I'll watch, but think risk of how they achieve the technology and Microsoft Softgrid on the eventually shipping horizon might overshadow in the long term.
with 0 Comments

Office 2007 advert mistake

I saw this advert for Microsoft Office 2007 recently on the Sky News website and had to look twice. Clearly the marketing team has made the same mistake for Excel's calculation engine (numbers don't add up) as they did with Frontpage's Html validation.



Although they did create a nice integrated advert for Office 2007 on MSN the other day.
with 0 Comments

Apple Form Factor Evolution

Great image of Apple Form Factor Evolution 1976 through 2007:

with 0 Comments

Active Directory Explorer 1.0 from SysInternals

As well as the other fanastic Sysinternals tools comes a new one from Mark Russinovich, Active Directory Explorer 1.0.

Very useful for discovering properties and attributes available in your Active Directory.

with 0 Comments

Code review primer

There are a number of code-review products on the market, including Cenqua Crucible and features inside Jetbrains IntelliJ but it's worth remembering a few key points as described by MarkLon:

1. Does the code do what it is supposed to do?
2. Does the code cover all cases?
3. Is the code quality good?
4. Does the code do too much?
5. Does the code do too little validation?
6. Does the code expose too much?
7. Are all exceptions handled?
8. When modifying code, has a new path into the internals of the code been created?
9. Comments that make you think the code does something but actually it is different.

Also well worth all developers reading Refactoring and Code Complete every couple of years (or even months).
with 0 Comments

Spiceworks IT Desktop - Free computer management

Thought this looked an interesting free tool for small businesses who don't run Microsoft Operations Manager (MOM) or one of the new System Center suite.

Spiceworks IT Desktop:

Your network may be complicated and expensive but your IT management tools don't need to be. Spiceworks IT Desktop is the only application that combines Network Inventory, Help Desk, Reporting, Monitoring and Troubleshooting in a single, easy-to-use interface designed for IT teams in small and medium businesses. Plus, Spiceworks lets you collaborate with IT pros around the world to solve problems, share ideas and decide what additional features you need in Spiceworks.



I haven't tried it myself but it certainly looks impressive for a free product.
with 0 Comments

MMC snap-ins on 64-bit

Came across this interesting issue when changing code access security (CASPOL) setting via the Microsoft Management Console (MMC) snap-in.

There are separate policies on a 64-bit machine, ie. for 32 and 64-bit runtime versions.

Good explanation why and how to run different mmc versions via command line parameters.
with 0 Comments

What makes an architect and what does a program manager do?

In the article, A Profile of Don Ferguson, in the Microsoft Architecture Journal (Scott Guthrie was featured the month before).

When asked what makes a good software architect:

Firstly, at IBM we had an architect board in the Software Group, which helped me form a network. It took me a while to understand the importance of a network. Being a New Englander, I tend to be a little taciturn and by myself. You should never underestimate the importance of a social network. You don't know what you don't know. You don't know what someone may say to you that can push the reset button in your brain and make you think differently.

Secondly, as a software architect, never stop coding. I write code. It's not good or particularly deep code, but I do code. A lot of it is educational and related to my spare-time activities. For example, recently, I've been working on a portal that connects my family using TikiWiki and PHP. I installed the products, but they didn't work for me right out of the box. So, I had to go in and hack them. It was cool. Another example is the nursery school that my daughter attends. They asked me to set up a Web site using [Microsoft] FrontPage, which was another learning experience.

Thirdly, communication skills matter. They really do. It's really important to understand how to write well and how to present well.

Finally, the most important thing is to connect with customers. Spend as much time as possible with them. Learn what they are trying to do, and look at what works and what doesn't. Help them use your products. There's no substitute for spending time with customers and helping them solve problems. Doing this, we often learned that customers used things in ways that we never dreamed they would. We also came up with amazing new ideas.



On a similar note, What Does a Microsoft Program Manager really do? blog post by Farshid Sedghi has some really good points. Chris Sells did a similar set of postings on being a PM.

  • Confidence - includes knowing your stuff inside out
  • Impact and Influence - If you can't have any impact and influence in the work, it probably is a good sign that you are not a good fit for the job or your position should not exist.
  • Cross-group collaboration - Whether you like it or not sooner or later everybody here has to do some of this and you better be good at it.
  • Interpersonal awareness
  • Be smart and get things done - Also goes without saying.
with 0 Comments

Microsoft Financial Services Developer Conference 2007 slides

Slides from the Microsoft Financial Services Developer Conference.
with 0 Comments

101 Linq Samples

101 LINQ Samples ... for future reference.
with 0 Comments

Next generation of workplace work phones

This annoucement by Microsoft and leading telecoms companies recently to better integrate the hardware phone devices with the desktop software space looks set to push things forward.

Most companies already have Voice Over IP (VOIP), Computer Telephony Integration (CTI) and use of conference calls for global team working and integration of address books from the PC to the phone is great.

“Today’s office phone is marooned on an island, separate from the rest of the communications tools that information workers rely on to do their jobs,” said Jeff Raikes, president of the Microsoft Business Division. “By weaving the business phone together with e-mail, instant messaging, presence, conferencing and the productivity software people use most, we are putting voice communications back into business.”



The UI on the phones makes more sense than alot of devices I've used in the past.


I think presence should be thought of separately from instant messaging alot more, embedding it into line-of-business applications where user context\communication might be required. This can be done by leveraging the Office Communication Server SDK\APIs.

The upcoming release of Microsoft Office Communication Server 2007 (rewrite of Placeware) looks set to incorporate 360 degree video conferencing using hardware developed by Microsoft Research.





with 0 Comments

Javascript tips

Most javascript development used to consist of simple dhtml manipulations and then that into separate .js files for reuse.

But the level of complexity in libraries like dojo and Microsoft ASP.NET AJAX can be a huge learning difference.

So this article in MSDN Magazine, Create Advanced Web Applications with Object-Orientated Techniques, is a great read.

As is Simon Willison, A (Re)-Introduction to Javascript, which has good tips around closures and memory leaks towards the end.
with 0 Comments

Codename: Astoria and Jasper at Mix07

Aside from the Silverlight announcements which seem to have stolen the show so far at Mix07.

A couple of other interesting pieces to watch, codename: Astoria:

The goal of Microsoft Codename Astoria is to enable applications to expose data as a data service that can be consumed by web clients within a corporate network and across the internet. The data service is reachable over HTTP, and URIs are used to identify the various pieces of information available through the service. Interactions with the data service happens in terms of HTTP verbs such as GET, POST, PUT and DELETE, and the data exchanged in those interactions is represented in simple formats such as XML and JSON.

And codename: Jasper:

Project Jasper is geared towards iterative and agile development. You can start interacting with the data in your database without having to create mapping files or define classes. You can build user interfaces by naming controls according to your model without worrying about binding code. Project Jasper is also extensible, allowing you to provide your own business logic and class model. Since Project Jasper is built on top of the ADO.NET Entity Framework, it supports rich queries and complex mapping.

I'm finding the what's being released when and with what ship vehile is getting confusing/complicated, with .NET 3.5, C# 3.0, Visual Studio Orca beta 1, ADO.NET EF, Linq, etc. and I'm not the only one.

with 0 Comments

Microsoft Cloud strategy forming?

Some ideas being rumoured around around the Microsoft's Live development platform, Microsoft to roll out dynamic-language layer for .NET. Also direction on LINQ 2.0 (PDF).

Need to look into what labs.biztalk.net is and the idea of Internet Service Bus.
with 0 Comments

Interview with Ray Ozzie

Good interview, "The Man Who Would Change Microsoft: Ray Ozzie's Vision for Connected Software", where Ray Ozzie talks about Microsoft changing to ship both software to the desktop and connected services.

He talks not about only "Software as a Service" but the combination and lifetime of software deployment.

"Ozzie: Well let me just start by saying that, in my view, we only have one shared future as a software industry. And that is centrally deployed code that has a different lifetime associated with it on the device it's deployed to.

So, what is HTML or DHTML? Most web pages have JavaScript in them. That's code that is delivered to the client and it has the lifetime of the browser instance you're using. Flash -- what is that? Well, it involves enhancing the browser runtime by downloading code. But it tethers those enhancements to the service and the lifetime of those things is still within the browser. With Apollo, maybe you can make the lifetime that of the user on that device. They have increased the lifetime from the browser instance to the PC.

All apps -- whether Win32 code, Flash code, managed WPF [Windows Presentation Foundation] code -- are going to have those lifetime choices and will all be centrally deployed, whether that central deployment is from an enterprise or from a service provider on the web. The concept of CD-based installs, floppy-based installs or USB stick installs are artifacts of a time when we were not fully connected.

So I don't see radical differences in the approaches that Adobe might be taking, that we're taking, or that the web industry in general is taking. The languages and run-times may be different. And we come at it from a history of the desktop coming up to the web. They are coming from a history of being on the web and going down to the desktop, but the endpoint is the same."

Interesting times, let's see how things pan out as revenue streams are split more and more by free and same vendor competitive products by different platforms...

with 0 Comments

WPF/E renamed Microsoft Silverlight

Microsoft has announced the name of WPF/E as Silverlight, together with a new website.

"Microsoft Silverlight is a cross-browser, cross-platform plug-in for delivering the next generation of media experiences and rich interactive applications (RIAs) for the Web."

I'm still yet to be convinced by any of the demos that it is much more than Flash/Flex and it still leaves a grey area of UI choices between Html, DHtml (AJAX), SilverLight, Flash/Flex, WPF (xbap), WPF/Winforms.

If Microsoft 'merged' the full WPF xbap into Silverlight, so support for databinding, templates, text entry, grids, 3D, etc. was available cross-browser, cross-platform and it was seen as tool for rich client-side interactivity that would be a better story - as it is the video playback seems to be high priority than business data representation.

Maybe things become clearer over time, as point 10 from Tim Sneath's list is revealed and other content demo'ed at Mix07.

Nice little story around why the javascript file you need is aghost.js, because Ag is the cheminal name for Silver, so the product team could talk about WPF/E but leave the name in the CTPs.

with 0 Comments

Usability and simplicity

Great user experience (UX) is difficult to achieve but often so simple - improvements can be blindingly obvious afterwards.

The Windows Vista UX guide, gives the example of the Spelling and Grammar checking dialog, it was "powerful" but a "powerful and simple" in-place design is even better.





But simplicity isn't simple, what is the 80/20 percent of your software application that your users actually use everyday?

Look at these examples of badly thought-out charts illustrating quantitative information.

If you need some ideas for visualizations methods, this periodic table has some good examples.



Jakob Nielsen talks about Return on investment for Usability.

Long Zheng, of IStartedSomething, points to the updated Windows Vista UX Guidelines on MSDN.



Including guidelines on warning messages and suggestions on how to avoid, "Users are more likely to focus on getting rid of the warning than fixing the underlying problem".



Also we are starting to see information on "Designing with Windows Presentation Foundation", touching on animation being appropriate, aesthetically pleasing often in a subtle way.

How Pragmatic Architecture can be applied to user interfaces and segmenting UI fundamentals into five parts: style, implementation, perspectives, cardinality and locality.

I'll talk in a future post about my thoughts on WPF and UX.
with 0 Comments