Wednesday, October 21, 2009

Make me want to lick your gear

Once again Apple releases a new set of hardware that makes me salivate. Why is it that only Apple seems to get this so right most of the time?

I mean look at what Lenovo offers as their latest desktop solution.














Compare this with the latest offering from Apple,



It is not that the Lenovo solution is terrible, it looks pretty nice until you see what you can buy from Apple. Then check out the hardware specs, the screen sizes and resolutions. Then turn your focus to the attention to details, the new Apple mouse, the way the screen is made to go right to the very edge of the box, the slight taper in the stand so it appears to be thinner sitting on your desktop. Jon Ives and his team are totally rocking the world of computer design.
I would love to see some other competition in the desktop market place that pushes the boundaries of PC design and pushes the Apple team to newer heights!

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.


Tuesday, October 13, 2009

SyXPAC, Agile and time to change

Last night at SyXPAC I gave a short talk (lightening talk) on the last 10 years of Agile. The point of the talk was to say that Agile has helped raise the issues to the forefront of peoples minds but it hasn't really solved anything,
In software development we have seen cycles of approximately 10 years. In 1968 was the first NATO Software Engineering Conference, one of the aims was to drive the adoption of the practically unknown term "software engineering". The title of software engineering was decided upon to be deliberately provocative and spark discussion. At the time it did this and from this methods were invented to attempt to create predictability in software development cycles.
In 1980 the first version of SSADM (Structured Systems Analysis and Design Method) was released and the 1980's saw a far more rigorous approach taken to software development. In 1982 Roger S. Pressman released the first edition of Software Engineering, A Practitioners Approach. This book become the bible for software development methods and teaching.
In 1991 James Martin first proposed RAD (Rapid Application Development) as an approach to delivering software using a more light weight and iterative process. Other great authors such as Steve McConnell and Jim McCarthy adopted these ideas in different degrees and help publicize this new approach. In 1999 eXtreme Programming was first publicized, along with Kent Beck's book on the topic. Following this the Agile Alliance was formed and a collection of other agile approaches have been proposed and introduced.
From 2001 forwards the term Agile was used as a buzzword to ensure that what ever changes were made could be signed off by the big boss. A number of Agile methodologies were pushed in to the market, SCRUM, Lean, MSF agile etc... some good, some bad. Mostly they all missed the point that XP was a set of dev tools not a methodology, philosophy or religion. In many ways the Agile alliance, although good in theory, didn't help with this.
Recently I have noticed a new issue with Agile practices and specifically some of the XP practices. There has evolved a breed of Agile coach that has a 'do what I say not what I do' approach. This is with a valid reason. Many of the practices that XP preaches are really like scales when learning music or mental exercises when training the brain. As a developer becomes more adept at them they become embedded into the psyche of the activity and the props become less necessary. To the point that some really experienced developer can move away from the practices and deliver even more amazing software without noticeably paying attention to the core practices.

As it approached the chasm, like all things, XP got watered down to become acceptable to the stakeholders that need to buy in. I don't think that this watering down of XP actually hurt that much initially, it enabled XP to get a foot in the door. It was then up to the developer to implement the solution. Here-in lies the issue. Fundamentally most developers do not have motivation to improve the state of the industry. They need to get their paycheck so they can eat, be clothed and have a roof for themselves and their families. The real passion for most developers is not business focussed. The real passion is technology for the sake of technology.
Yet through all of these changes, the software industry has not improved its reputation for delivery of poor quality, over budget, bug ridden software. Each shift has brought some new thinking and new tools to the tool box of the software development team, yet the basic principles remain the same.

Back to the Point; Agile helps but it hasnt really solved anything, it is time for a change and we embrace change, right ?

Wednesday, October 07, 2009

Are you looking for a challenge?

IF

You want:
1. to work on some amazing new technologies,
2. the rare opportunity to really improve the world with the software you build
3. to engage with some of the smartest brains on the planet (our customers)
4. the challenge (every day) to do something better than anyone else

AND

You are prepared to commit to:
1. bringing your best to every project every day
2. demanding that your team mates bring their best to every project every day
3. producing outstanding software experiences that deliver more than our demanding customers expect
4. learning and improving every day

THEN

You will have the opportunity to :
1. engage with Microsoft Research, Microsoft Surface Product Group and the Microsoft Education Product Group
2. work with our leading global partners including Tricky Business and After-Mouse
3. develop with us
4. deliver greatness

NOTE:
You will be working with me. I am passionate about building great software. No ifs or buts: I am demanding. I want to be associated with excellence and will always ask for more. I believe in zero defect software that betters the lives of it users. I believe in crafting extraordinary software experiences. I believe in growing and learning. I bring my best to the team every day and expect you to do the same. If you’re still reading, chances are that you’re inspired and you should contact us to discuss the possibility of joining our team.

Send an email to jobs_at_ nsquaredsolutions.com

Tuesday, October 06, 2009

Another video in the learning and technology series

Today another video in the nsquared series on Education and technology went live. I talked to Maridee about how cross-disciplinary education benefits students. We discussed how technologies such as Surface, Semblio, and MultiPoint can help create great learning experiences.

Tuesday, August 25, 2009

Less is More with nsquared

Yesterday we had some fun in the nsquared office recording this video about how less is more...



Today we decided to release the 'more' version of this video, enjoy!

Monday, August 10, 2009

Microsoft Surface Shell


Time for another nsquared Surface discussion. This time we talk about the Microsoft Surface Shell.
We explain the components of the shell and how Microsoft Surface applications can integrate with the shell.



Monday, August 03, 2009

Iceland; mountains, glaciers, deserts and forests


Over the last week I have been trekking by foot in Iceland. Iceland is an amazing country on so many levels. The geography is simply stunning.
Here are a couple of movies I have put together from photos taken on the trek.




Tuesday, July 14, 2009

Surface Video Series

This month I have started working on a series of videos with the team at nsquared on Microsoft Surface. We are discussing a number of the topics I cover in my Surface development training courses. You can see the whole series on YouTube.


Thursday, June 18, 2009

Your child is ugly!

I was recently asked what tools a team should have to support SCRUM.

  1. As many big whiteboards as you can make space for in the developer area
  2. Lots of whiteboard markers, never be in a position where it is hard to find a marker
  3. Open communication channels.
  4. A developer ego extraction utility ( this is the hardest tool to find IMO)
  5. A developer passion insertion tool ( somewhat easier to come by)

4 is important, let me expand on this.


Software creation with passion becomes very personal, the creation is a child of the developer. Flaws found and pointed out in peoples children are often not taken well by the parents. Developers often take suggestions for improvement very personally because they see it as an attack on their ability.

The product created needs to be an output of the team. A team that works great together will deliver great software. Often the weakest part of a team is the team member with the biggest ego. If you find you have a team where certain members of the team are not performing as well as they could it be, you often find the ego of another team member blocking their growth. The team member that wants to be the hero in the team is commonly blocking the growth of others, as it helps them feel more important.



Saturday, May 23, 2009

Microsoft Surface in the Spring

You may remember in February I was in Munich delivering Surface Training. I was back in Munich again this week delivering more Surface Training and it is a very different place in the Spring. I think I was lucky as the weather was fantastic.
Here is a picture of the same train station that was covered in snow last time I was here.


This month Surface Service Pack 1 was released and so in addition to all the usual goodness in the Surface Training I now have a session dedicated to the features in Service Pack 1. The course outline looks like this:
The Surface Vision
The Architecture of Surface applications
Setting up a Surface device and the out of the box applications
Working with the Simulator
Integrating with the Surface Shell
Designing Surface experiences
Using the Surface Controls
What is new in Service Pack 1
Vision Recognition with Surface
End to end building a Surface application

---insert----

I received an email from someone telling me I was just teasing them and I should divulge what I cover that is new in Service Pack 1. These are some of things in Service Pack 1 that we cover in the training:

  • Richer feedback of touch input, the built in visualizations that now indicate when the Surface receives input
  • Object Routing, how to launch an application by placing a tagged object on the Surface 
  • Single Application Mode, running only one application on the Surface and hiding the launcher and access points
  • Library container WPF controls, Library Bar and Library Stack. Discussion about what these are good for and how to use them
  • Element Menu WPF control, putting the GUI into NUI, why this control is useful and why it is not always a great idea. How to code this control.
  • Drag and Drop support, how to add drag and drop to your multi touch and (more importantly) multi user Surface application.
--- / insert ---

If you would like some help building amazing Surface applications please let me know. We are providing consulting and support services to help you bring out the magic in your Surface applications.

Wednesday, May 20, 2009

Technology information for those that do not care

I recently reinstalled Vista on my laptop and I keep finding little things that I don't have installed. Today it was Windows Live Photo Gallery. I like Photo Gallery because of the photo stitching feature to create panoramic photos.

I went to the download page to get Photo Gallery I am confronted by this screen telling me about the scary technology being installed as part of this application. Why should a consumer care about this? Instead this space would be better used informing the user of some great things they could do with this application or a tip on how to get more out of the application.
Come on Microsoft you are not some little garage software start up anymore.

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).

Saturday, May 16, 2009

Last night I slept in Eva Longoria's bed!


Over the years I have stayed in a lot of hotels and often I wonder 'who else has slept in this bed'. Well apparently the bed I slept in last night was slept in by Eva Longoria the previous night. So while the attention grabbing headline may not mean what you think, it is kind of true.
I wonder who else I have shared a bed with over the years!

Thursday, April 23, 2009

Wednesday, April 08, 2009

Where Is Dr. Neil?

This question is being asked so much at the moment I decided to recreate the Where Was Dr. Neil web page. As the Virtual Earth team removed support for the older (less than 3 years old!) version of Virtual Earth, the old site was broken and I have not had the energy to repair it.
In the last month I received more than a dozen emails asking where I am, so I decided to rebuild the page using the new Virtual Earth Silverlight control. the Virtual Earth Silverlight control was announced (again for the third year) at Mix09 last month. It took less than a couple of hours yesterday evening to put this page together. 
One of the things that I have always seen as very important is the ability to customize the experience with the map. I feel that, while the Silverlight Virtual Earth control lacks some of the functionality I might like to see in a full GIS system, it does provide a great new opportunity to build rich mapping experiences.

Wednesday, April 01, 2009

Open for Cloudy reasons

The latest buzz in the Cloud computing blogosphere seems to be on the Open Cloud Manifesto. This is a strange document, which at its core seems to be based on the fact that a bunch of companies do not want to pay for the effort of others in order to gain their own business advantage. 
Suggesting that all the software that supports cloud computing needs to be open source, leaves no room for a business that wants to innovate and capitalize on IP created to enhance the cloud computing effort.
It seems that IBM is one of the key players behind this manifesto. IBM has long been a strong proponent of Open Source as, for a consulting and services company, software is a cost in their business model. Reducing this cost to closer to zero is something they must strive for. As a software developer I like to get rewarded for the software I create and innovate. 
Reading the manifesto it seems to be a very limiting concept; blocking innovation of new programming models, blocking innovation of new protocols and blocking the independent innovation of cloud technologies.
While I can see advantage in defining some standards for protocols I think we already this with W3. It is not clear to me what this manifesto adds to the cloud computing world.

Tuesday, March 31, 2009

Europe Surface Training Round Two

I landed nice and early in London Heathrow this morning in order to finish the final setup for the Surface training in the UK this week. I am delivering two courses this week, each one is two days long and today (Monday) is setup day. I was so excited to get in early and have my reserved rental car actually ready and waiting for me, thank you National. I am so pleased I switched from Hertz, who have been useless the last few times; reserve a car online a week ahead and then wait an hour an half for the car to be ready.

Anyway having the car ready was nice, spending 2 and half hours sitting in (mostly) stationary traffic on the M4 was somewhat average. There was a BIG smash on the M4 motorway between London Heathrow and Reading, where I am delivering the training. I guess it was a good welcome back to the UK for me, a reminder of why I don't live here.

Finally I made it the Microsoft campus in the UK and was very pleased to discover the MTC team here are as efficient as ever and the room was mostly setup. The lab machines and Surface units were all waiting for me. I have loaded up the hands on labs and some new demo applications and now the room is ready for 4 days of intensive Surface training. Should be a lot of fun.



Tuesday, March 24, 2009

MIX'd up in the economy

Coming way from MIX I have a nagging feeling that all these great new technical previews (CTPs) that Microsoft has released and announced will not get used as much as they might have in the past.
It is clear that the economy is in trouble, attendance at the MIX event seemed to be down and many of the attendees I spoke to told me that last year their company paid for the trip to the event and this year they had to fund it themselves. Some thought it was worth it, other attendees less so.
With the less stable economic situation software developers need to focus on creating software that they can sell. The CTPs announced and released do not have a license which would allow the software created to be sold or commercialized. I am sure that for special cases Microsoft will do one off deals, for the majority of developers this technology is useless until it ships with a license. 
So what should Microsoft do? I think they need to keep the transparency and show case where they are going with the technology. It would be great if they could provide more solid ideas of timeframes in which the technologies will have a license, along with the pricing models.
In the mean time I expect most of the software developer community will focus on building solutions that they can actually sell and use for commercial benefit.

Friday, March 06, 2009

MVP Summit thoughts

This week another MVP summit has started and finished. I spent time with various groups and got the chance to catch up with a number of old friends. For me there was a very different feel to this MVP summit. It is something that I have felt was coming for a while.
Many of the MVPs I spoke to felt that the product groups were not be open with them or telling the MVPs the whole story. Personally I think this is the right thing for the product groups to do. People are now awarded MVP status because they have blogs, twitter too much (more than not at all) and are generally loud mouths in the online world. If I had something secret I wouldn't share it with this group either. During the evenings when MVPs of different technology areas gathered I overheard many conversations between MVPs where they were sharing the things they had learned that day. The point of signing an NDA as an MVP seems most questionable. I would suggest that the MVPs really need to be reminded of the meaning of the NDA.
I have also been doing some _real_ work this week and having meetings with some of the Microsoft product groups. This is the first time that when a Microsoft employee asked if I was here for the MVP summit I cringed as if I felt I didn't want to be associated with the MVP group. MVP status used to be something I was proud of, something that helped differentiate me as a person that adds value. Now I feel that being an MVP associates me with a bunch of Microsoft fan-boys (and some girls) who want to be the first ones to break the news that Microsoft is releasing product XYZ. Of course there are still many MVPs who do the right thing, and understand the business value. Yet I do not get the impression that MVPs overall are perceived to be adding great business value, and in some cases are presenting a hindrance to the progress of Microsoft products.
This is a great challenge going forward and I really hope there are some folks within Microsoft thinking through how to address these issues.

Sunday, February 22, 2009

NICTA/Microsoft Innovation Day

I have only been back in Sydney a few days and I have crammed a lot of activities and catching up into a few days, including a short sail on the harbour, dinners and the obligatory run on the beach followed by a splash in the sea.
On Thursday, at the Microsoft Sydney office, was the NICTA and Microsoft Innovation Day. I was there with some of my friends from nsquared to present the work we have been doing to improve social learning activities. We have a stand with two touch screens; one running Windows 7 and one running Windows Vista highlighting some of the single touch, multi touch and multi mouse software we are building. We were also fortunate enough to have access to a Surface unit to demonstrate some of the educational software we have been prototyping for Microsoft Surface. It is always great to get a big crowd around your exhibits and we certainly had that, thanks for dropping by and the great questions and feedback.

Thursday, February 19, 2009

Motivate me to YES

I have been thinking about the reasons we end up saying 'no' to tasks, possibilities, options and opportunities. For me at all boils down to motivation. The motivation is nearly always in the form of energy; time, excitement, fun, money.
This is especially true when applied to software development. With enough energy you can achieve almost anything with software do you have the motivation to achieve those things?

If you find me saying 'no' it is because you are not motivating me to say 'yes'.

Friday, February 13, 2009

Microsoft Surface in the snow




I am on the last leg of the European Microsoft Surface training tour. Delivering the first round of external Microsoft Surface training to partners. I am getting to enjoy learning to be a commuter in the different parts of the world. this morning I got the train to the Munich MTC. The train station this morning was interestingly quiet and serene.
Today we discussed the vision behind Surface and how to build better Surface applications, all the attendees get to build a Surface application in the two day course. the course outline looks like this:
  • The Surface Vision
  • The Architecture of Surface applications
  • Setting up a Surface device and the out of the box applications
  • Working with the Simulator
  • Integrating with the Surface Shell
  • Designing Surface experiences
  • Using the Surface Controls
  • Vision Recognition with Surface
  • End to end building a Surface application

We will be doing another set of Surface training in the coming months around Europe. If you would like some help building amazing Surface applications please let me know. We are providing some consulting and support services to help you bring out the magic in your Surface applications.


Monday, February 09, 2009

The Global Catastrophe

There is no doubt we as a global population are in some serious trouble. The ecology of the planet is in jeopardy, the capitalist concept is proving to be fundamentally flawed and the foundations of our government systems seem to be broken.
This year I have been in Australia, Canada, the USA, Iceland, the UK and France. It is clear many people are going to be in way more trouble in the coming months than I think they realize. Many high streets have stores closing, or empty. 
Yesterday I took a snowy walk down the Champs-Élysées, this is one of the worlds must see roads. The architecture is stunning. The walk from the Arc de Triomphe down to the Louvre down the tree lined avenue is designed to leave the pedestrian in awe. 
It is with great disappointment then, that as I perambulated along the route I was in awe of the realization of Idiocracy. The tourists were not taking photos of the statues along the road, the architecture of the the magnificent attractions. Instead the real attraction is now the Gucci store and the Louis Vuitton store. With an attitude like this it is clear why we have so many global problems; the desire to own things that you don't need while ignoring the real magic of your surroundings.
Please think about your actions and pay attention to what you might normally consider as the background. Lastly, what are you doing to create real value to the world.

Thursday, February 05, 2009

où est le Dr Neil

cette semaine Dr Neil prestation formation Microsoft Surface à Paris.



Pardon my French, it is not as good as it used to be and I am sure this is a horrible translation, and yet here I am in Paris delivering the first round of development training for Microsoft Surface. This is the first time training has been provided to external Microsoft partners in Europe and I am extremely excited to have been chosen to deliver the training.
There are many aspects to building great Surface experiences for developers to get their heads around and nothing beats a deep dive hands on Surface training workshop.
I am really looking forward to see what the attendees end up building in the next few weeks.

Sunday, January 18, 2009

Collaborate and learn

It's been a busy two weeks for me, traveling from Sydney to Seattle last week and then from Seattle to London this week.
Last week I spent some time with the Surface team reviewing and testing the software I have been working on for social learning experiences. Eric Havir pulled me aside to record some of the work we have been doing.

and


Then this week I have been at BETT talking about collaborative and social learning with technologies such as Surface and MultiPoint.
There were some interesting innovations at BETT. It was great to see the table top computing solution from SMART. I am looking forward to building some software to run on the SMART Table.

Next stop, Iceland.....

Friday, January 09, 2009

Silverlight For Mobile at We-Dig

Last night at WE-DIG Amit and Anand gave a great overview of the new Silverlight for Mobile bits Microsoft is currently working hard to ship.



To my surprise they also demonstrated this wonderful Real Estate application running on Silverlight for Mobile.
:)

Sunday, January 04, 2009

2009, what will happen

Happy New Year, welcome to the new year.

With 2008 already disappearing into the distance it's time to think about what will happen in this fresh new year.

No doubt the _recession_ is going to play a strong part of the activities this year. It will be used an excuse for getting rid of staff, not delivering on projects, and the general failing of all things that would have failed anyway.

I expect Apple will release a new iPhone that will solve all those little grumbles currently seen in the devices and software and this will leave no choice in the phone market. It is clear that none of the competing companies are even coming close to the iphone in terms of consumer _must have_ factor.

Microsoft will release more CTP and beta software than any sane person will know what to do with. some will be good, some will be awesome and some should have been taken and shot before being allowed out to fester in the open.

I expect that I will be travelling through more countries this year. I already have 6 countries on my itinerary to visit before the end of February, and yes some of them more than once.

Another year will pass where the software industry allows people to call themselves computer programmers when they have never programmed a computer in their lives. These fake abstract layer manipulators will continue to be overpaid and under deliver. Software will still, mostly, suck.

Microsoft Surface devices will start to be found in more and more locations in North America and western Europe. The rest of the world will wait impatiently.

Microsoft Outlook will crash. Microsoft Entourage will continue to run really well with multiple Exchange accounts. With some luck Microsoft will realize that they are software company and stop trying to drive up PC sales and start driving up sales of fantastic software.

nsquared will continue to grow and to hire great computer programmers. Yet, it is the knowledge that it is hard to do well that will keep nsquared looking for only the best of the best and driving the quality bar of software ever higher.

The year go so fast that before I know it, I will be writing the 2010 version of this blog post....

Be divine in 2009!

Thursday, December 11, 2008

Live Services, Live Framework and Mesh

This week James and I have been delivering training to help developers understand how to use Live Services now and start thinking about how they will use Live Services in the future.
James has been running around the world presenting the training over the last few weeks. It is interesting to compare how different cultures perceive the technologies and the opportunities the technologies bring.
One of the big lessons for me is just how little people know about what is available today to get started building applications that use the Live Services. Go to dev.live.com and find out about current Live Services and the APIs you can use to build really cool software using the technologies Microsoft is providing.
If you are doing software development you must also start to pay attention to the whole Microsoft Azure Services Platform. What Microsoft is doing here has the potential to create a serious step change in the way software is built and deployed.

Friday, November 07, 2008

Dr. Neil's Notes 51

Welcome to a special edition of Dr. Neil's Notes, Show 51

A few weeks back, before PDC, Ken Levy hijacked the Dr. Neil's Notes lab, have a listen to what happened...

Happy Coding!

Saturday, November 01, 2008

Day Three PDC Keynote: Microsoft Research Magic

Welcome to the last keynote, and what a magical grand finale it was! The presentation opened with an appealing video demonstrating the history and relevance of the Microsoft Research Department. Rick Rashid, the longest serving MS executive, delivered a very natural performance both in the video and on stage. He knows what he is talking about and has a real passion for pure computer science.
Rick started by explaining the Microsoft Research Mission Statement, which is to:
• Expand the state of the art in each of the areas we do research
• Rapidly transfer innovative technologies into Microsoft products
• Ensure that MS products have a future
Rick’s history in the software business leaves no doubt that this is someone with passion for what he does and the output of this passion is seen in many products today. Rick worked on the Mach kernal, the underlying software that NeXT computers used in their NeXTStep operating system. This kernal still lives today in Apple’s OSX products and the iPhone OS.
Did you know that Microsoft Research contains 850 PhD researchers at their worldwide facilities? That is a larger faculty than even Carnegie Melon or Brown. Microsoft’s researchers have distinguished themselves among research staffs in the field of computer science. The size of the Microsoft Research Department is equivalent to creating a Berkley staff every year for 17 years. The largest facility is in Redmond, the second largest is in Beijing, China. Microsoft Research worldwide owns the largest Ph.D internship program in Computer Science in the world, and its researchers write between 10-30% of papers at academic conferences.
Some of the fundamental computer science research has lead to some brilliant output in the form of concurrency runtimes and the Microsoft Distributed Software Services. This work will have impacts on fundamental software engineering and system design in the coming years.
As MS Research looks forward to 2020 they are doing more work on provable systems, to validate properties of large scale programs. The Vista driver verifier technology came from this research, we should expect more in the way of deterministic validation from this group. This is fantastic as it means we will be marching ever closer to truly bug free solutions. An example of the work being done is the solutions discovered to Church’s theorem to determine what can be recursively computed.
Microsoft Research is doing much of work to reduce energy consumption. While good for the environment, it is clear there is a business driver here to help reduce the massive cost of running hugely scaled data centers.
Presenter Feng Zhao spoke about research in sensor networks and how it can help people understand energy use as it pertains to human activities. We can improve energy efficiency - computing devices that consume a lot of power. For some time in software we have been asking questions like how much memory will your app use? and what is the CPU utilization? The next big question is how much energy does your software use?
Feng introduced a device that showed how sensor energy technology could be used to monitor and manage the cooling of machine rooms. Before the start of the convention, crews attached eight rows of sensors to the ceiling of the convention hall. Using a MS Virtual Earth map on the screen behind him, Feng centered the map in bird’s eye view on the location of the auditorium and a heat map displayed showing the relative temperature of the room in different areas throughout the day. At this time, 10,000 sensors are being placed in rack rooms in MS datacenters – perhaps to scale down some of the costs associated with running them, but whatever the case may be this is exciting stuff.
Who would have thought a software company could contribute to modern healthcare? MS uses computer science theory to tackle problems in the medical world in a dramatic new way. MSR is working towards designing medicine for a person and their genetics - the near future may hold mapping of the entire human genome for $1000 a person. Using this technology it will even be possible to create custom medicine for a person’s genetic makeup.
Right now, MS is working with scientists from Harvard and Oxford to apply SPAM hunting technology to the hunt for and killing of the HIV virus in the human body. HIV does not mutate at random, and bits of HIV serve as decoys making it an extremely difficult disease to tackle. MS is using computational analysis of HIV and computer science theory to innovatively attack problems in the medical world. Watch as this monolithic giant truly makes a positive difference in the lives of individuals and communities.
More fascinating contributions of MSR come in the field of education. Here in Washington State, the Center for Collaborative Computing at the University of Washington is just one of the many combined scholastic facilities around the world. At the Center for Personal Robotics at Georgia Tech, students receive a personal robot to program throughout their graduate career; fun and educational at the same time.
The World wide Telescope Equinox Beta links all the data from the great telescopes around the world to provide a 24/7 experience of the night sky. Even amateurs are finding things that professionals didn’t see using the 21 giga parsecs of visual data available in this amazing program.
MS programs empower children by teaching them to program. Matthew McLaurin, Principal Program Manager at MSR, presented Boku, a system that works like a game and allows children to program on their own. Programming is now a fundamental life skill.
Last on the agenda, Rick presented Steve Hodges and Shahram Izadi, who demonstrated Secondlight, an interaction beyond Surface using an infrared multi view display and pass through projection to bring the Surface interface out of the display. Words cannot describe the experience as shown on the video that was presented - this is the real magic in computing. When things appear to be beyond the achievable we know we are close to a new breakthrough in this field.
For those of you who love research as much as I do, you must see this exciting and compelling presentation by Rick Rishad, Senior Vice President of Microsoft Research and other members of the Microsoft team. Watch it here.

Friday, October 31, 2008

Why I hate the Web

I live a life of frustration, always waiting for web pages to load and refresh, it is all so slow.

The Web Browser provides the state of the art in dumb terminals with slow performance and lack of responsiveness. I have a machine with a 64 bit bus, more memory than I would know what to do with and I am constrained to spend nearly half my life interacting through this most unbearably restrictive interface of rendered markup languages and remote procedure calls over shared networks to overloaded time sliced servers.

Computing has not come very far in my opinion.

What can we do about this?

Build smarter client applications that are connected to the cloud, but understand how to take advantage of the computing power in my hands. Please build your software to be network aware, power managed and very fast.

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.

Tuesday, October 28, 2008

Windows Azure - the old new blue thing

This morning Microsoft announced windows Azure, a new platform for web computing development and deployment.
There will be plenty of technical details of Windows Azure out there so I am going to focus on the question: Is it really new?
Time sliced shared server solutions have been around since almost the beginning of electronic computing.
What seems to be really new is the democratization of this process to the masses. This is where Microsoft plays a strong game. Taking what was high cost and hard for most people and providing it to the masses of developers and smaller businesses.
This is good in many ways. It will act as a vehicle for new business growth and drive some interesting new applications. At the same time because it will be open to the masses it will be something that will attract a lot of _average_ software too. The market will determine the value.

Saturday, August 30, 2008

Two Regional Directors and one brain

On one of the rare occasions that Adam Cogan and I are in the same place the PDC brain arrived. We had to take pictures of this momentous occasion.


Friday, August 29, 2008

CXC Global and nsquared partnership announcement

Hot off the press....

A new partnership between two dynamic and growing Australian businesses is expected to yield combined revenues of AU$200m within the next 10 years.
nsquared solutions and CXC Global have worked together for many years on solving the challenges faced by today’s IT and software businesses.
CXC Global provides innovative solutions to logistics and human resources challenges and has helped businesses work smarter with their global contractors and employees. nsquared’s goals have been focused on the technical challenges faced by software businesses to overcome the hurdles of delivering high quality solutions to tight time frames.
CXC Global will provide its full backing to the nsquared services project teams as an internal administration, payroll and management service, whilst nsquared will be providing the leading edge technology and applications behind the CXC online products and services.
Ingrid Webber, CEO of CXC Australasia Pty Ltd, said being world leader in Contractor Management Services was an ongoing challenge that could only be maintained by deploying the world’s ‘best practice’ solutions.
“Working with nsquared ensures that CXC will have a huge technology advantage over any potential competitors,” she said.
Dr. Neil Roodyn, Director of nsquared and a Regional Director for Microsoft Australia, feels the partnership will help both companies grow through better value add for their clients.
“This new relationship allows both companies to focus more energy on bringing value to clients while supporting each other to increase the energy each company is able to focus on their core business. By joining forces, both companies expect to accelerate their growth to achieve the significant targets they have set for the next five to 10 years. .”
nsquared solutions delivers leading edge software in a way that helps identify the most value up front and deliver on it. The nsquared development team utilises a responsive approach to deliver solutions to meet the most pressing needs first and then works through the value chain to always remain focused on what adds the most value now.
CXC Global provides salary packaging, accounting, payroll and administration services to the global contract market and has built a solid reputation for honesty and integrity with a commitment to friendly, efficient and prompt service. CXC Global has offices in Australia, New Zealand, UK, Ireland, USA, Hong Kong, China, Malaysia, The Philippines, Singapore and South Africa with affiliations around Europe.

Thursday, August 14, 2008

Who do you know?

In the third video in the nsquared mini-series on Windows Live Tools for Visual Studio James McCutcheon shows you how to add the Windws Live Contacts control to your site.
James provides some ideas on how you might use the contacts to control to allow your website to access the contacts of the users on your site.

Saturday, August 02, 2008

Windows Live Tools for Visual Studio 2008, the Virtual Earth control

Nick Randolph has posted the second in our mini-series of videos showing how easy it is to get started with the new Windows Live Tools for Visual Studio.
This is so cool, adding a map to your ASP.NET web site is now so easy, even Visual Basic programmers can do it! ;)


Tuesday, July 29, 2008

Windows Live Tools for Microsoft Visual Studio CTP3 Shipped

The Windows Live™ Tools for Microsoft® Visual Studio® 2008 are a set of control add-ins to make incorporating Windows Live services into your Web application easier with Visual Studio 2008 and Visual Web Developer Express 2008.
What does this mean?
It means if you build websites with Visual Studio and you like to drag and drop controls on to your web form and then add some code behind you can now use a number of Windows Live services in a very simple way.
To demonstrate I have created a short video showing how simple it is to add the Silverlight Streaming Media Player control to your ASP.NET website.



As one of the developers working on the architecture and code behind these tools I would love to hear your feedback.

Wednesday, July 16, 2008

Already Hiring...

Many of you may have wondered why I have been so quite on my blog in the last few months. Along with all my usual travels and presentations I have been working with Nick Randolph and James McCutcheon on a new company enterprise called nsquared solutions. While we are not quite ready to tell you all about nsquared yet, you can probably guess it will involve some mobile development projects.
We already have a number of interesting projects on board and are working on our first range of products, and right now we need some help. We have a couple of opportunities for the right developers to come on board at this early stage and help us deliver projects and ship the first set of products.
We are looking for the following, if you are interested then please get directly in touch.

A WPF .NET Developer
The job will be developing a mixture of .NET business logic development with Windows Presentation Foundation UI development. The projects are for leading edge as yet unreleased products.

Required Skills:
At least three years of commercial experience in C#,.NET, XML
Some experience and understanding of WPF
Strong knowledge of Object Oriented methodologies.
Able to handle pressure and work with minimum supervision
Positive, pro-active and flexible attitude, keen to learn and grow
Strong interpersonal/communication skills.

Desirable skills:
Experience developing in the .NET 3.0 and 3.5 framework
Experience using SQL Server 2005
MCSD or MCAD certified.

An ASP.NET Developer
The job will be developing a mixture of webservices and ASP.NET and AJAX applications for a Web 2.0 project.

Required Skills:
At least three years of commercial experience in C#, ASP.NET, SQL Server, XML
Strong knowledge of Object Oriented methodologies.
Able to handle pressure and work with minimum supervision
Positive, pro-active and flexible attitude, keen to learn and grow
Strong interpersonal/communication skills.

Desirable skills:
Experience developing in the .NET 2.0 framework
Experience using SQL Server 2005
MCSD or MCAD certified.


nsquared solutions provides a comfortable Sydney based work place, with the benefits of working with, and learning from, leaders in the field of software development. Founded by Microsoft Regional Director Dr. Neil Roodyn and Microsoft Most Valuable Professionals Nick Randolph and James McCutcheon, nsquared delivers high value leading edge solutions to global customers. Working with nsquared provides an opportunity to work overseas, if desired. Many of the nsquared clients are based in the USA and we have offices in the Seattle area.

Tuesday, July 15, 2008

Integrating Virtual Earth into Your Partner Solution Offerings

Do you have customers that rely on location based information? At the Australian Microsoft Partner Conference I will show you how your customers can track assets, find their customers more easily, manage mobile work forces and ensure their customers find them before heading to a competitor. Learn how to combine your expertise and Microsoft’s mapping technology to integrate location services into your customers’ business solutions and applications.

The event blurb...
At the Virtual Earth sessions at the Australia Partner Conference pre days Microsoft Regional Director Dr Neil will be demonstrating a Windows Mobile application that uses GPS to log tracks and plot them on Virtual Earth. By attending the session you will get a chance to win a Palm Treo SmartPhone enabling you to put into practice what you learn on the day!

If you cannot make it to the Partner Conference there are 3 events around Australia the week before the conference.
Sydney July 29th
Melbourne July 31st
Brisbane August 1st
You can register here

I will be at the Sydney and Melbourne events, come and meet me there.

Wednesday, July 09, 2008

TechEd Panel: Windows Mobile Application Development

At TechEd in Orlando last month a few of the Windows Mobile presenters discussed development for mobile devices in a panel session. You can view the recorded session here.


The panel consists of Andy Wigley, myself, Maarten Struys, and Paul Yao.

You can also see other panel sessions and recordings from TechEd online

Saturday, June 21, 2008

TechEd Australia, the mobile story

September seems like a long way off, but before you know it it will be here and so will TechEd Australia.
I (and other great community members) have been working with the guys down under to help shape the look and feel of TechEd for you to learn about mobile development.
Don Kerr has posted the current thinking for the sessions, what do you think?

Thursday, June 12, 2008

Silverlight Mobile with John L Scott Real Estate

Some of the recent work I have been doing with Silverlight Mobile is showcased in an interview with John L. Scott on Channel 10.
This project has been done with a pre-release version of Silverlight Mobile and uses Virtual Earth maps to display real estate property near you on your Windows Mobile phone.
Credit is due to Tricky Business for the slick and clean user interface design.

Wednesday, June 11, 2008

PDC 2008, will you be there?

I have just registered for PDC 2008. It should be awesome. It sounds like a heap of new technology platforms will be discussed and explored at this event. As the web site says "Wanna be where the action is?" then you better get registered for this event.

Saturday, June 07, 2008

Software Quality is not optional

The last day of TechEd and I did two panel sessions. The topic of the first panel session was software quality.
The panel had an awesome line up including; Billy Hollis, Jeffrey Palermoand David Platt.
In this panel were people I respect, they are smart, have worked in the industry for a while and know their areas well.
Then I discover some panel members (called Billy and David) are happy to accept that software will be built with defects, they do not believe that the software they write is likely to be defect free.
This makes me wonder what hope the industry has as a whole.
The software you produce is an output of your goals. Aim high to achieve high targets. Aim for zero defect software, do everything in your power to build zero defect software and the chances are you can get there.
If you start with the belief that this software will have defects when you are finished building it, then your chances of delivering zero defect software are already lower.

Friday, June 06, 2008

C++ and COM, the way to program Windows

I presented a session this morning at TechEd on building applications that work with Windows Vista Sync Center. Sync Center exposes COM interfaces and requires your application to expose COM interfaces.
This is easy, this is Windows software development like it has been for at least 10 years. It is well defined, well known and well supported.
Hearing developers complain about having to use C++ and do COM development today made me realise that the .NET developer generation is missing out on so many areas of the Windows development opportunities.
My advice, go and learn C++ and COM, it is how many of the Windows Vista features are exposed to developers and with good reason.
If you are not prepared to learn how to program your computer then you should question why you are in the software development business.

Wednesday, June 04, 2008

SideShow for Windows Mobile

It seems like the SideShow team is really getting things together now. This week Windows SideShow for Windows Mobile is shipping as a developer preview. this lets you use your Windows Mobile device as a Windows Vista SideShow display.
I have shown this in various demo situations over the last couple of years and now you can get your hands on the technology and start building for it using the new Managed APIs.

Also be sure to check out the SideShow gadget development contest NVidia is running.

Lunch with Bill Gates

Half way into day one of TechEd 2008 and 15 of the top community folks (Regional Directors, MVPs etc) were invited to an Influencer Roundtable lunch with Bill Gates.
Bill is such a switched on person, the whole room spent most of the lunch listening to Bill's words of wisdom. Bill thinks big and acts big, I like this man.
The first half of the lunch conversation was around education and the things that can be done to improve education both globally and in the USA. Interesting stuff. I think that once Bill puts more energy into the foundation we will see amazing things happen.
Each of the attendees also was presented an award for our achievements.

Tuesday, June 03, 2008

Virtually back in Vienna

Vienna in Austria now has really sweet 3D buildings available in Virtual Earth. I was just there speaking at the MIX Essentials event 2 weeks ago. Now I can virtually visit Vienna any time I like.

Awesome!

TechEd 2008 Day 0

It's only the end of day 0?
Wow, its been a fun packed day already, with lots of the familiar faces in the community engaging in conversations about all things good, bad and beautiful in the world of software development.
I could hardly walk 10 yards today without meeting someone who I knew or knew me, or even better both :)
It's always good to finally meet people I have had email conversations with and put faces to names.
I helped to get a bunch of demos running today that will be shown on the show floor at the product booths. If you are at TechEd you should certainly swing by and have a look at some of the cool product demos.
I am already getting a good feeling about the event splitting so IT Pro and Developers have their own events. This week is the developer week (no surprises) and I am getting good vibes about this. Developers connecting with developers and knowing that nearly everyone else is a developer will make the meal time conversations easier.
If you are at TechEd then come and find me and say hello.
I will be often found in and around the Windows Mobile booth space.

Friday, May 30, 2008

SideShow managed API is shipped!

It seems to have taken a while, the Managed API for SideShow has left the beta phase and shipped.
I was working on SideShow before Vista shipped with the team that built this awesome axillary display technology. All the code I wrote was native C++ against the native SideShow APIs. Now the large number of .NET programmers can access SideShow technology from the comfort of the abstraction layer.

Sunday, May 11, 2008

Windows Mobile Unit Tests setting the time

As if you didn't know, I am a fan of TDD (Test Driven Development). I try to work in a TDD manner as much as possible.
Unit testing for Windows Mobile applications has always been somewhat challenging. Visual Studio 2008 (professional and above) allows me to work in a TDD manner as I build software for the Windows Mobile platform.
I have been working on some software that needs the time to be changed as part of the tests. This might not be as simple as you think, but it's not hard as long as you know to set the local time not the system time on the device.

private SYSTEMTIME SetDateTime(DateTime dateTime)
{
SYSTEMTIME st = new SYSTEMTIME();
st.year = (short)dateTime.Year;
st.month = (short)dateTime.Month;
st.day = (short)dateTime.Day;
st.hour = (short)dateTime.Hour;
st.minute = (short)dateTime.Minute;
st.second = (short)dateTime.Second;
st.milliseconds = (short)dateTime.Millisecond;

return st;
}

public struct SYSTEMTIME
{
public short year;
public short month;
public short dayOfWeek;
public short day;
public short hour;
public short minute;
public short second;
public short milliseconds;
}

[DllImport("coredll.dll", SetLastError=true)]
static extern bool SetLocalTime(ref SYSTEMTIME time);

[TestMethod()]
public void HourIsOne()
{
DateTime savedDT = DateTime.Now;
SYSTEMTIME sysTime = SetDateTime(savedDT);
sysTime.hour = 1;

bool setSuccess = SetLocalTime(ref sysTime);
Assert.IsTrue(setSuccess, "Failed to SetLocalTime");
Assert.AreEqual(1, DateTime.Now.Hour,
"Hour should be 1 after setting it");

sysTime = SetDateTime(savedDT);
SetLocalTime(ref sysTime);
}

Friday, May 09, 2008

Local Feedback Loops

I had a wonderful beach side meeting and lunch with Andrew Coates yesterday and we talked through a number of ideas. Mostly about TechEd Australia as that is Andrew's focus right now.
We brainstormed ideas around how to get people talking more at the event rather than make it a series of push sessions.
I find I rarely attend a session at conferences any more as I can watch them all online afterwards. The real value of a conference is meeting people and talking to them. Creating feedback loops for thought processes. Sometimes just listening in to other people talking can be enlightening too.
We brainstormed some ideas around having the first session after the keynote being a panel for each track. The panel would introduce the speakers on that track and start the conversation around the track topics. Andrew has blogged about it.
I hear complaints about there not being enough content at TechEd and comparing TechEd Australia to TechEd USA, which does have a lot more content and a much higher attendance. I don't think this is a good argument. You are allowed to go to both! TechEd USA is an awesome event and worth going to. TechEd Australia is different, it is a local event, smaller in nature and allows the local community to engage with each other. I don't believe TechEd Australia should just be a mini version of TechEd USA. That is a waste of time, the world is a small place and Australians are mostly capable of getting on an airplane to fly to TechEd USA if they want to. TechEd Australia has an opportunity to do something different and better for the local community. I believe the same is true for all events that run locally in a region.
I am hoping for lots of good conversations at TechEd Australia that have local relevance.

Wednesday, May 07, 2008

New Windows Mobile Dev Blog

Amit Chopra from the Windows Mobile developer tools team at Microsoft has set up a new Windows Mobile developer blog.
He has kicked off with a post about the the great line up of sessions at TechEd in Orlando next month.
I'll be doing a session on Windows Vista sync center and some chalk talks.
I'm looking forward to catching up with the mobile developers there.

SWMUG Thrives

Another night, another Sydney user group.
Along with my old surf beach buddy, Hugo 'UberTablet', I headed down to the Microsoft offices in North Ryde to catch up with old friends at the Sydney Windows Mobile User Group or SWMUG. I was impressed by the turnout. Some excellent presentations and of course the obligatory dribbling over new and as yet unreleased technology.

Tuesday, May 06, 2008

SyXPAC lives!

Last night I headed down towards Darling Harbour to the regular SyXPAC meeting.
I started Sydney's eXtreme Programming Activity Club at the end of 2001 as a way to spread the knowledge about eXtreme Programming. Initially a monthly meeting, it has gone through many phases. The hardcore SyXPAC members meet weekly on Monday evenings, drink, eat and discuss software development.
At last nights meeting we discussed how SyXPAC can enter a new phase and become interesting to new people interested in finding out more about agile development and learning to build better software.
It sounds like there will be monthly SyXPAC events focused around presentations, discussions and debates. If you have topics you are interested in then you should get involved and put a request in the SyXPAC blog or on the Yahoo! group.

Saturday, May 03, 2008

Expression Web used to build the site?

I wonder if Expression Web was used to build the Microsoft Expression site?



Friday, May 02, 2008

Do you realise how much time we invested in. . ..?

Imagine you are at the bar of your local pub. You would like to order some food & drinks.
You catch the eye of the barman who nods to indicate he has seen you and then stands still, as if deep in thought.
The barman looks at the floor, then looks at you, then focuses his attention on the glasses, and bottles behind the bar.
After about 10 minutes of this he slowly walks over to you.
I expect you are pretty frustrated by now.
Slowly and carefully the barman pulls out a pad and pencil from under the bar. He asks you what you would like, you ask for 2 pies & 2 pints of your favorite, he slowly and carefully writes this down. The barman then turns the pad around and asks you to check your order. You review it, it appears correct and you tell him it's good. He then asks you to sign it, in order to confirm you agree.
Astonished, you sign it.
The barman asks you to take a seat, "your food & drinks will be with you within 2 hours" he informs you.
what?
"and that will be $6,500 please"
" WHAT?!?!" you scream out loud
"well look how much time I am putting into this, and I spent 3 years at university studying bar service"

It seems strange to me that people believe that because they invested more time into a project it is worth more. Surely it is more valuable to get great results sooner?
The most value should be given to results that are delivered fast and provide what is needed.

Wednesday, April 30, 2008

Reconnect through someone else

Sometimes the strangest things happen.
I received an email last week (when email still worked) from a friend in Cuppertino(can you guess where they work?) with a link to this article in SD Times.
It's a great piece by Larry O'Brien about the difference in abilities between developers. A more positive and thought through article than my rant Most programmers shouldn't write code.
Because of that article I was prompted to get back in touch with Larry and have a chat about a bunch of things going on in the tech world at the moment.
So thanks to one friend I am now back in touch with another friend and they don't even know each other. What a strange and wonderful world.

Yes my email is still broken.

Monday, April 28, 2008

MIX Essentials Austria and Denmark

Since announcing that I will not be presenting at ReMix Australia I have been asked to present Windows Live developer sessions at Mix Essentials in Austria and Copenhagen.
Looking forward to getting back to both of these cities at the end of May.
If you are going to be at either of these events feel free to drop me a note and we can meet up.

Sunday, April 27, 2008

Mail hijacked

It looks like my email address has been hijacked. I have 472 messages in my inbox and they all seem to be returned mail.
I expect this means that my email will now be blacklisted and emails I send might not get through.
If you receive spam from my address, I am sorry, blame the spamhead that just hijacked my email.
Is this the beginning of the end of email?
Is email just a broken protocol now?
How much longer will it be before we give up with email?


Saturday, April 26, 2008

Not at ReMix Australia

I have had a few emails asking if I will have time to meet at ReMix Australia this year. the answer is NO. The reason I can't meet is I will not be there.
I was going to do a session on Silverlight for Windows Mobile, I have been working on a proof of concept with Tricky Business and the Redmond team that I would have loved to show and talk about but it is not ready. Silverlight for Mobile is not ready and the proof of concept is not ready.
Silverlight for Mobile is currently a closed beta for a select few. I do not want to present, at the end of the day, on a technology that you cannot start playing with now (or very soon).
I am sorry if you were hoping to see me there, I am sure some of the local speakers will do a good job of keeping you entertained.

Friday, April 25, 2008

DevConnections and Live Mesh

After a successful few days in Orlando at DevConnections I am back in London.
At DevConnections I presented sessions on Windows Live (Silverlight Streaming and Data Portability) and Windows Mobile (Sync Center, Gadgets and windows Live apps for Windows Mobile). After Tuesday nights announcement of Live Mesh, I assumed that many of the attendees would be asking questions.
To my surprise most of them didn't know about it, and many didn't care. Why not? Because it is not of relevance to them, or so they believe. I think what we see with Live Mesh might be the start of something exciting, something I have spoken about for some time. I shouldn't have to print out driving directions from my home PC to take them in the car, the car should 'sync' with my home PC and know what I have been searching for on my home or work PC. It is the same story with my phone.
In my session at DevConnections on Windows Vista gadgets that speak to my mobile phone, I talk about building applications that know I am at my PC and so display content on the PC screen not on the phone. One of my biggest annoyances is still the fact that all my devices that sync with Exchange fire off reminders. I am now sitting at a hot desk I am using for a few days while in London. I have my laptop, tablet, UK phone and US phone on the desk. When a calendar reminder is raised all my devices insist on ringing bells. Why?
The keyboard of my laptop is being used and I am logged in, the other devices should detect this and only 1 reminder should be displayed on the device I am currently working with. I am hoping that Live Mesh makes these scenarios easier to deliver against.

Wednesday, January 16, 2008

Those who do and those who blog

Tricky tells me there are those who do and those who blog.
In the last few months I have been doing.
I am going to continue doing for a while....

Thursday, December 13, 2007

Most programmers shouldn't write code.

Hi, I'm back and I'm ready to start blogging again.
I can think the best thing to do here is to kick off my blogging with a rant about the state of the software industry.

One of the reasons I have not been blogging recently is that I am busy writing code, yes real code that will ship. Not only will it ship but the code will be publicly available for other programmers to learn.
I am not new to this kind of gig, the are several samples in the Windows Vista SDK that I wrote, and lots of code examples around web, in books, magazines etc...
When I used to run my own software companies I learned very quickly that not all programmers are born equal, in fact far from it.

A small minority of programmers deliver the majority of the value, the rest add little bits of value and lots of bugs.

The reason the software industry has such a bad reputation is not without cause. Most software projects fail in some way. I think there is one overwhelming reason for this; most programmers can't write code that can (or should) be shipped.
What is it that, this majority of programmers, are doing wrong?
Here is a short list to kick things off.

1. They don't have a clue how a computer actually works, what a CPU is, how instructions are processed, how memory is allocated or how data is stored in registers. Many programmers will say this isn't important as modern programming languages absolve the software developer from having to worry about the hardware. That is exactly the reason so much software sucks.
Understand how the hardware works, understand the implications of context switching, threading, multi-processor machines, otherwise your software will always suck.

2. They don't strive to write the simplest code to solve a problem. Most programmers believe that complex code proves they are heroes, god or whatever. All it proves is that they didn't think very hard about how to simplify the problem. The best (most robust, bug free, fastest) code is simple. Simple solutions to complex problems is clever. Complex solutions for any problem is dumb.

3. Most developers don't create feedback loops that allow them to improve the code in a project as they build it. There is a truth in software development, the code you write today will change tomorrow.
If you feel that changing what you have already done is a waste of time, proof that you did it wrong or caused by clients changing their minds then you should quit writing code professionally. Whenever you write code be aware that it will change, so the smart thing to do is make it easy to change.

4. Designing the architecture for all the software before writing any code. The concept that you can define all the classes and methods before you start writing a single line of code is a path to disaster. I am tempted to draw analogies with sculpture or jamming in a music session but there are hundreds of these analogies out there and they clearly don't work. People still believe they can architect a software solution and then get programmers to build it. This just doesn't work. I have shipped lots of software in the last 25 years and I have never seen or heard of a single instance of this working. Software architecture is a skill that must be learned by everyone that writes code.
If you don't understand design patterns and core architectural concepts your code will likely suck.

5. Writing code to fit in with some design patterns chosen for the task. Design patterns provide a vocabulary to describe the patterns in the code. they are NOT patterns that will enable you copy and paste code to create a solution.
Often a pattern I initially thought would emerge in the code of an application doesn't emerge but other smarter patterns emerge. This happens because the process of writing the code and the feedback loops change the way I was looking at a problem.

6. The majority of programmers believe that bugs are inevitable. That's just like saying 'Lets write bugs'. To make matters worse programmers then expect to get paid for fixing the bugs they wrote. Let's clarify something here; a bug is some code functioning in an unexpected way. A bug is code that is wrong. If you find a bug fix it now. Bugs should not be stored somewhere, or left to linger. They should be destroyed.
If you keep a bug database you are tracking all the mistakes you have made, why not fix them? I do not keep a bug database for any project I work on, bugs are high priority tasks that must be completed before other work can continue that day. If you find you are creating bugs faster than you can fix them, stop writing code. If you expect to get paid for writing code that is wrong and then expect to get paid for fixing that mistake, go and do another job, you are doing the software industry and your reputation no good.

7. Coding for a J O B. If you go to work at 9 (ish) and leave at 5 (or earlier if you can get away with it) and never write code outside of those hours you will never deliver great software. You need to have a passion for software development if you want to deliver amazing solutions. Yes you will probably get paid for doing a JOB and delivering some half working solution. No, you should not be paid for this, in my opinion. It is the software developers that have no passion that create some of the biggest issues in this industry. It is true that most software is shipped by people who develop software as their job, it is also true that most software sucks.

8. Copy and pasting code from examples without understanding exactly what the code is doing. The clipboard development strategy to building software started sometime in the '80's but really took off in the '90's when the Internet started to provide lots of code snippets to add to the clipboard coders toolbox.

9. "Customers and clients are just idiots." I encounter this almost every week, developers that believe the clients are stupid and keep changing their minds about what they want. Guess what? The customer is always right. Clients know they need software to solve a problem, you are acting as a conduit to help them discover what they want. Often a client doesn't know exactly what they want to start with, it takes several feedback loops for their vision to become clearer. This is part of the development process. If you don't like rewriting code, throwing away work you have done, changing the direction of the project then go and get a boring job. It will suit your temperament much better, boring jobs don't have challenges or too much change.

Tuesday, October 16, 2007

No excuses just no podcast

Sorry for another break in transmissions. I have been running around the USA between meetings, summits, and going hiking.
I am about to head back to the UK and who knows there may be some time for a podcast from London.

Thursday, September 20, 2007

Sunday, September 16, 2007

Dr. Neil's Notes 49

Welcome to Dr. Neil's Notes Show 49

Warning lower than average recording quality, sorry.

A week of travel.
TechEd South East Asia in Kuala Lumpur, 2 sessions on the Windows Live Platform
Mix UK, a session on designing user happiness.

Feedback on the ViaWindowsLive site.
A call for participation, get involved in the community.

Happy Coding!

Tuesday, September 11, 2007

TechEd South East Asia

I am just heading out of Singapore now and spent the day in Kuala Lumpur at TechEd South East Asia. I gave two presentations this morning on the Windows Live development platform. The first session was an overview of the Live Services and I did a demo of the new ScreenEdit site. The new ScreenEdit site uses Live Id, Live Search, plugs into Live Spaces and pulls content from Silverlight Streaming.
The second session was a more detailed look at Virtual Earth and Live Search.
I am now heading to Mix UK for some fun with Developers and Designers tomorrow :)

Saturday, September 08, 2007

Dr. Neil's Notes 48

Welcome to Dr. Neil's Notes Show 48

News:

A long week, lots going on in the online communities with weekend.
New version of Via Windows Live is up and ready for you to play with, get involved, contribute.

New version of ScreenEdit.com is about to be launched. It uses lots of Windows Live services :)

Tip: Use Virtual PCs

Virtual PC's help you create isolated development environments on the same machine.

Happy Coding!