Showing posts with label Windows 7. Show all posts
Showing posts with label Windows 7. Show all posts

Wednesday, March 09, 2011

It is not cloud or client

With so much discussion recently about moving your computing solution to the cloud as opposed to building a rich client application I thought I would make some observations.

Step back 30 years (1981) to the days when the mainframe was being positioned as a computing solution for business via thin client terminals. At the same time a new type of computer was starting to become popular, the personal computer. The personal computer was a low powered device by comparison to the mainframe, but it was all yours,.There was no sharing of resources or concerns of your personal and private data getting into the wrong person's hands. Microsoft made it their mission to put a computer on every desktop, it was a noble cause, a democratization of computing power. As personal computing power increased and with it the software for personal computers, the dream has become a reality. Now the modern day personal computer is often more powerful than many of the mainframe devices. The personal computer has also become so cheap as to be considered a disposable item by large companies. Place a large number of personal computers together and you can create an immensely powerful shared computing resource. In many ways, this stacking together of large numbers of computers provides more redundancy than a single large powerful computer. When a part of it fails it is really disposable and can be left as a dead component in the array of computers. The operating systems that these personal computers run is not considerably different from the operating system that runs the modern day laptop or the desktop computer.This has lead to a shift in the dynamics of the industry. The manufacturers of the personal computer operating system (let's face it, I am talking about Microsoft here in the main), is now the same company that is producing the operating system for the shared resource computing accessed through the modern day terminal (the browser). This now means the same company that has lead the charge to bring computers to the desk and into your hands is motivated to create large online shared resource centers, centers that run their operating system.

The interesting thing is that over the last 20 years Microsoft's Windows operating system has matured into a far superior server technology than client technology. Consider the Vista issues that clients reported and compare that to the lack of issues reported for Windows Server 2008. Windows Server 2008 is a really solid operating system and yet at its core is the same operating system as Windows Vista. It should not be surprising then that a company like Microsoft would play to its strengths and be motivated to sell more of its server operating systems. Windows 7 has done a lot to regain credibility for Microsoft as an operating system on the personal computer yet it is clear that market share is being lost to other products.

Many of these other products are no longer the traditional 'personal computer' and Steve Jobs in his announcement of the iPad2 referred to these computers as 'post PC' devices. Clearly your phone, slate computer or TV are not quite the same as your personal computer, yet these devices all harness the same (if not more) computing power as the personal computer of 5 years ago.

These post pc devices are often designed for richer media consumption such as movies, video chat, music and games. In order to optimize the experience for the consumer the software running on the devices is getting increasingly complex.

This clear movement to richer and richer experiences on client devices leads to a higher and higher consumption of bandwidth. At the same time greater levels of abstraction are being created by developers to simplify their lives. For example consider the heavy use of XML as a data transfer medium, XML is human readable and easy to debug, yet it increases the bits required to send the information compared to other methods software developers used when the available bandwidth was far more constrained. Couple this increased use of bandwidth with, what seems like, an insatiable appetite for richer experiences and we have a scenario where more power is being required on both the server and the client.

The cloud or shared computing resource is here. It has been here for a long time and will be here for a long time yet. Creating a new name for this massive shared computing resource may help with marketing it as the new thing, but ultimately it is nothing more than a huge online computing platform that is shared and scalable. I am sure I remember a salesman from IBM telling me this about the IBM offering in 1986!

The smartphone, tablet, tv and laptop will always provide a better experience when the application is written to target that device specifically. The web provides a lowest common denominator for interfaces that might be interesting for businesses that want to maximize their reach at the cost of user experience. The most enjoyable experiences will always come from applications designed to take advantage of the platform upon which they are running.

I think the argument of cloud vs client is not a real decision that needs to be made. To create an optimal user experience requires a rich client application. To make the experience seamless across the different devices in our pockets and on our desks requires shared storage that is reliable, scalable and can be accessed from (almost) anywhere. It is not about cloud or client, it is about cloud AND client.

Tuesday, July 13, 2010

Windows 7 Touch or Microsoft Surface

I have received a number of questions around the topic of touch on Microsoft Surface and Windows 7.
I have seen a variety of feedback from client and developers along these lines:
  • Surface doesn't have a web browser, I must have a web browser
  • Surface is just Windows with touch
While the work I have done with After-Mouse and nsquared has led to a web browser control being built for Surface, typically a user trying to browse the internet is not looking for a multi-user, social, computing experience and Windows 7 is much more suited to provide a single user experience. Browsing the internet (the way we do today with modern browsers) is a single user experience, you cannot have two users clicking in the same browser at the same time and expect to get meaningful results. At best a browser can provide an experience for multiple users with a driver-passenger model of engagement. One person is the driver and is the only user interacting directly with the browser, the other participants are passengers, observing the interactions and potentially providing verbal guidance to the driver.
The questions to ask are:
What is the client trying to achieve?
What is their vision? A good place to start is to understand the usage scenarios they are hoping for.

If the objective is really to get multiple people engaged then Microsoft Surface provides a far superior solution. For a single user touch experience go for Windows 7.
You should also note that while the touch is getting better in Windows 7, the shell in Windows 7 is not designed to be 100% driven by touch, whereas the Microsoft Surface Shell is designed for touch from the ground up. With Windows 7, touch enhances the mouse and keyboard interactions. With Surface touch replaces the mouse and keyboard interactions.

Wednesday, December 02, 2009

6 Steps to 7

A recent acquisition the new 27" iMac presented me with a brief challenge when I went to install Windows 7 with Bootcamp; after the first stage of the install the screen remains blank.
A quick search on the internet presented a very concise solution on the UK PCPro site, thanks guys.


1. Run the Boot Camp Assistant in OS X as normal and create a partition when asked, then insert your Windows 7 disc to reboot and begin the process proper.

2. Windows 7 requires the NTFS file system, so once in the installer just select your new partition (labelled BOOTCAMP), click on Drive options (Advanced) and choose to format it. Then select the newly formatted partition and continue.

3. Windows 7 will begin installing, and once it gets almost to the bottom of its checklist, it’ll try to reboot. Now, if you leave it here, you’ll get so far and see the black screen. Any further attempts to reboot will bring you to the same dead end.

4. Instead, restart and press a key to boot from the Windows 7 disc when prompted. Rather than running the installation again, choose the little option at the bottom to Repair your computer. Decline any suggestions that pop up until you see a list of options with Command Prompt at the bottom. Choose that option.

5. At the Command Prompt, type DEL C:\WINDOWS\SYSTEM32\DRIVERS\ATIKMDAG.SYS to delete the default ATI driver, then close the window and reboot.

6. This time, Windows should successfully initialise a more appropriate display driver, allowing you into the desktop. From here insert your OS X disc to install the relevant hardware drivers as you normally would, then run Windows update to clear up any leftovers.

Tuesday, October 20, 2009

Welcome back the Neil and Hugo show

Hugo Ortega from Tegatech has agreed to join me in a new series of videos in the nsquared studio on touch and mobile computing. I really enjoyed making this first video and look forward to plenty more to come.


Wednesday, May 20, 2009

I am a switcher

Time to confess.
OSX is my OS of choice.
I am fed up with windows that say (not responding) in the title bar. Microsoft Entourage supports multiple Exchange accounts and it works like a dream and fast, unlike Outlook.
When I close the lid of my MacBook Air it is asleep, when I lift the lid it is awake. No waiting, no messing around. Last month I spent 4 weeks on the road and I never rebooted my MacBook Air once.
I now have a second machine (Mac Book Pro) running Windows Vista 32 bit (the only platform supported for Surface dev) that I use for Windows dev and I hate having to use it. It feels like some prehistoric slowed down museum artifact.
If I had XAML dev tools on OSX I would probably give up with Windows altogether.
If Microsoft wants to win back customers like me it needs to:
  1. Make Windows feel more responsive. Yes I have tried Win7 RC and no I am not happy, it is still slower than OSX (IMO)
  2. Make Office run better on Windows than it does on OSX, IMO Office is currently better (faster, easier to use, more functional) on OSX than on Windows
  3. Ensure Windows remembers the different monitors I have connected my machine to as a second monitor and restore the settings last used with that monitor.
  4. Always, without fail, find an external monitor or projector and allow me to project to it without messing around for 15 mins in preferences and settings.
  5. Ship a rich suite of applications (iLife) on Windows that work well with each other and do 80% of what a consumer wants to do with music, photos, email, and calendar.
Windows 7 feels like a big leap forward from Vista, for me it is not enough (yet).

Wednesday, October 29, 2008

Day Two PDC Keynote - Rock and Roll to the Epic Saga of Misunderstanding

(cross post from nsquared blog)

The initial pump and excitement was certainly there this morning as opposed to yesterday’s slightly lackluster performance.

It should not be surprising that Windows 7 gets the rock star treatment on stage. It is the bus that drives the cash to Microsoft's front door every day.

Ray's introduction to the session was a perfect pull back and setting to the scene. Explaining the history of Windows, positioning the PC, the phone and web platforms from Microsoft's perspective was perfect. This is the theatre you need in a keynote, and the scene was set for Steven Sinofsky to get on stage and start showcasing Windows 7 and the features being improved.

It is clear that a lot of work has gone into the user experience for the client, and there is an understanding that Windows is now (and has for a long time been) a consumer operating system not just a business operating system.

Windows 7 is about much more than the user experience. The core technologies have had some great improvements at a power management and networking device management level. Goals for Windows 7 have been around performance and responsiveness; Windows 7 now supports 256 processors, boots faster, uses less memory and reduces the power consumption on the device.

Today all attendees get a copy of the win7 pre-beta (milestone M3 ) build. Beta will be delivered early CY 09.

This is where the keynote should have ended but Microsoft VPs rather appreciate long-winded tales, so it must have made sense to them to continue telling stories. Feedback for anyone putting together a presentation - tell one story, create a beginning, middle and an end. Perhaps learn from theatre and movie makers – please keep it short and simple next time, folks.

The next story was presented by the great Scott Guthrie. The new features in WPF, .NET 4 and VS 2010 were briefly covered by Scott, and the developer focused audience loves the fact that now more average developers can write code. Again a democratization of software development continues, allowing more mediocre software to be built and shipped. You have to hand it to Microsoft for enabling software development to be done by unexceptional members of the world’s population; leading to even more rubbish software in the world. Personally I think this may be great, it will allow the people that really know what a computer is doing to build fantastic software that will really differentiate from the rest.

Two hours in and the Day Two PDC keynote kept going and the audience got restless, the exodus started from the keynote room as David Treadwell came on stage to disclose information on how to build software using the Live Services. David discussed the concept of the internet as a bridge to allow users to see the same data and share data between users and devices. Mesh is now a key component of Live Services, mesh is the experience built on top of Live Services. The Live Services is now a platform for S+S, making it easy for developers to build applications that utilize the Live Services via the Live Framework.

Live Operating Environment is akin to the CLR in .NET. A set of open, consistent interfaces are provided in the Live Framework. Live Framework comes with a set of API kits including a .NET API kit making it easy for .NET developers to build Live Services enabled applications. Now your applications can tap into the user data, devices and social relationships.