JohnMarkHowell Twitter
Tweets by JohnMarkHowell-
Recent Posts
Archives
- August 2014
- July 2014
- January 2013
- December 2012
- November 2012
- August 2012
- July 2012
- June 2012
- May 2012
- March 2012
- February 2012
- January 2012
- December 2011
- August 2011
- June 2011
- February 2011
- January 2011
- December 2010
- October 2010
- September 2010
- July 2010
- May 2010
- December 2009
- September 2009
- August 2009
- July 2009
- March 2009
- January 2009
- November 2008
- October 2008
- September 2008
- August 2008
- July 2008
- June 2008
- May 2008
- March 2008
- January 2008
- December 2007
- November 2007
- September 2007
- August 2007
- July 2007
- June 2007
- May 2007
- April 2007
- October 2006
- September 2006
- August 2006
- July 2006
- June 2006
- May 2006
- April 2006
- March 2006
- February 2006
- January 2006
- December 2005
- November 2005
- May 2005
Categories
More about Silverlight
Krzysztof has a great blog about Silverlight and his experiences with it. Well worth your time!
Posted in Uncategorized
Leave a comment
Architecture v/s Performance
"Ladies and Gentlemen! In this corner we have Architecture, heavy weight champion! Look at his size and strength! Massive! His swing may be a little slow, but he rarely misses his target. And in the other corner we have Performance. Don’t let his slender size fool you, he is very very fast! He may not land every punch but he’ll punch faster. Come together you two, let’s settle this and have a fair fight!".
Some days just seem to play out like the story above. We’re so mired in one or the other than we forsake one for the benefit of the other. Let’s consider that these are attributes of a system. So primarily who benefits from these attributes? The customer or the developer? Just pick one please. Oh, you can’t? Let’s take a look at that. First, Performance: who gets the primary benefit from Performance? That’s easy, the customer. If it’s slow they will hate it, if it’s fast they will at least use it. No matter if it’s exactly what they want or need, if it’s fast enough they will usually try to make it work. If they can’t get their modifications turned around quickly enough, they seem to tolerate it better if the current system is fast and what they’re getting will be fast.
Now, let’s talk about Architecture. Who gets the biggest benefit from this attribute? The developers of course. They can refactor, rework, enhance, fix, debug and maintain better so the customer will only benefit in the future.
So, how do you have your cake and eat it too (not to mention not gain any weight either). Well, you can’t have it all, but like everything in life, it takes planning and trade-offs. When you’re laying out your architecture (seeing where it fulfills requirements of course), you have to step back and look for possible performance pain points. Just like you have to code smart, you have to architect smart too. Like I said, you can’t have it all, so when you find these performance pain points, you agree on which ones are acceptable levels of risk and which ones aren’t. That way everyone is agreement and there will be no surprises when you move into real usage.
So make sure as you’re laying your architecture out that you really think it through from one side to the other. Think about the technologies involved. Think about the risks. Think about options you may have to take. Envision, investigate, confirm. And where you can’t, make sure it’s flexable enough to handle plug-ins or replacements. You’ll be very glad you did.
Posted in Uncategorized
Leave a comment
Moving at the speed of Silverlight!
Most of you who have been reading this blog knows that I’m obsessed with the advancement of technology and it’s application. So naturally, I’m completely over the top about Silverlight. And Microsoft is in complete agreement and is generating documentation and tutorials, well, at the speed of silverlight. Check out the latest on MSDN!
Posted in Uncategorized
Leave a comment
The Chicken and the Egg
Recently there has been some discussion among some of my peers about the software design process. Particularly in and around Agile and if/where Architecture fits in. One argument is that with Agile, the Architecture is dictated by the Stories as they play out, other’s say that you can’t have both.
There are many ways to create software. They each have their intended ‘audience’. I use the term ‘audience’ because each software development technique was developed with a particular target developer type in mind. Now mind you, I’m used to being flamed in both email and face to face. I just tell it like it is.
So back to the discussions. Architecture happens. (Sounds like a good bumper sticker or tee-shirt). Whether you intend it or not. So really the question is what comes first? If your code comes first and your Architecture ‘evolves’, then you have no real control over it. If your Architecture comes first, your code will fit the architecture. That’s the rub. Agile methods say that the code drives the development, not the other way around.
People often compare developing systems to building houses. If so, then the Agile technique would have the builders framing out the bathroom before the slab was poured. Sounds crazy doesn’t it?
So let’s get to the truth. All software must spring from a need or a purpose. That purpose should then help you to envision a solution. You can then break that vision down into requirements or goals. Those requirements form the boundaries for your system. Next comes the Architecture. This Architecture ensures that the requirements and goals are met. Then the Architecture breaks down into Design and the Designs break down into code. Contrary to the Agile folks, there is no waste here.
So many of my peers were wrong. Code doesn’t come first. Architecture doesn’t come first. Even the Vision doesn’t come first. The need comes first. Our purpose is all about meeting a need or fulfilling a purpose. Architecture is the technique that we used to ensure that we meet that need or fulfill that purpose.
Case closed. Or is it…
Next time: we talk about where performance considerations should come in. Stay tuned!
Posted in Uncategorized
Leave a comment
C# v/s VB.Net
OK, I know the flames will come, but let me preface this with the words "this is my experience and opinion". The debate that has raged between the camps of C# and VB.Net has been at times vicious and spirited. But let me share some of my experiences. I’ve written millions of lines of VB6, VB.Net (all versions) and C# (all versions). Recently I had to do some maintenance on an old system I had written back in my VB6 days. I thought back then I was a pretty good developer, but upgrading to VB.Net 2005 exposed all the flaws: non-declared variables, used but not initialized members, functions with no return values, variables declared without type, and on and on. Just little things that VB6 handled for me but should have been addressed. So for my opinion, VB let me get away with things that I should not have. VB has come along way and VB.Net 2005 points out most of those flaws. C# is a lot less forgiving and declarative than VB and as such prevent more of these sloppy mistakes. For me, I’ll do everything I can in C#. The only thing I miss from VB is late binding to the Office products. C# gives me the advantage of being much easier to read (less verbose) and the upgrades are much cleaner. C# also ‘seems’ to promote better reuse practices and OO techniques. As I said in the beginning, this is just my opinion….
Posted in Uncategorized
2 Comments
Google Groups search v/s MS Forums search
I know many of you, like I did, used the Google Groups search to search then MSN forums and postings. The old MSN forums UI and search was slow and clunky at best. Well, MS listened and has updated the UI. The search works well and the UI is now very responsive. Google Groups search is still out there. In fact it went from Beta to Production just today. When you’re stuck on a bug, try the MSN forums search next time. You might like what you see.
Posted in Uncategorized
Leave a comment
Longhorn Server ready for widespread Beta
We’ve been waiting quite a while for this version. But some of the features we had been wanted have been moved to a later version. Still, .Net 3.0, powershell, AD enhancements and more make this release one to watch.
Posted in Uncategorized
Leave a comment
Silverlight!!!!!!!!!!!!!
Finally the wait is almost over! XAML for the web! We finally have something that can unseat HTML and give us a real way to delivery great user experiences across the web! Check it out!
Posted in Uncategorized
Leave a comment
Finally, real web development progress!
Microsoft has given a go-to-market name for its cross-platform, cross-browser plug-in for delivering the next generation of user experiences and rich Internet applications for the Web. The technology formerly known as WPF/E is now known as Silverlight. Finally we’ll have a web development tool with some teeth in it.
Posted in Uncategorized
Leave a comment