Public musings, often on software development RSS 2.0
# Tuesday, August 03, 2010

Today at VSLive Microsoft announced LightSwitch.  As MVPs we’ve been seeing demos of this technology for something like forever,  and although it’ll now be open to a broader debate, many us think this is a good product direction.

For starters we need to address who LightSwitch is targeting.  Odds are if you are reading my blog – you are familiar with things like .NET or T-SQL or other developer technologies.  Guess what – you aren’t the target of LightSwitch.  Yes accommodations have been made in the design to keep us nerds from revolting against this product – but its important to remember we aren’t the target.

If you know what Silverlight is, or any of the technology I’m about to discuss that implements LightSwitch solutions, and in most cases even the fact that you care – means you are on the fringe of the target audience for this product.

LightSwitch – the marketing hooks are blatant but focus on the simplicity of turning on a light.  Tell me – what’s all the technology used in allowing us to turn on a light is?  I mean down to the power generation (are you currently using wind, oil or coal generated power) [analogy: database servers], connectivity to your house through the power supply system (where is your substation?)[analogy: communication protocols] and wiring from the fuse box (which breaker is that light currently on) [analogy: desktop/browser].  You know how and routinely change your light bulb, and probably have reasonable familiarity with your local fuse box, but getting the light on doesn’t require much more from you than hitting the switch.

That’s the goal of LightSwitch.  Take someone who conceptually knows there is a database – probably even knows how to connect to it.  Knows that there is communication to that database, but doesn’t care if its (or in most cases understand the difference between) Entity Framework, ADO.NET, LINQ, WCF, Synchronous vs Asynchronous or any of a dozen other elements on how the data travels.  They just want to create a form that accesses and updates the data and have it work.

Why target this group – because the market is huge.  This isn’t a hidden market nor is it an attempt to reach people who are using a competitor’s tools.  LightSwitch targets tech savvy business people with the tools necessary to quickly implement a solution that their IT department told them would take “2-6 months if we can get to it.” 

Also for all you’ve heard about the integration with Visual Studio 2010 let me clarify because I’m hearing some confusion -

LightSwitch is a standalone product and not tied to Visual Studio 2010.

(It’s ‘LightSwitch’ not ‘LightSpeed’)

The good news, on the back end it’s built on C# (or VB) .NET and Silverlight and that a LightSwitch project can be opened and modified by someone familiar with Visual Studio 2010.  If this was a true ‘Visual Studio product we would refer to how it would speed development – that’s not the focus.

Enabling more people to create solutions, and having those solutions built on some of the most effective Microsoft technologies is the focus.  As part of this, core features like data binding, applying a style, simple validation etc. are built to not require custom code or even much knowledge as to how they work.

That’s the idea – a quick and easy way for Dave in Finance to add a new table allowing him to add, edit and delete his contacts for accounts payable or some similar basic application that isn’t high enough on the IT priority list to get implemented.

Fact is most IT people fear this because it empowers Dave in Finance to suddenly create what in 6-12 months will be a key application in the company’s toolbox.  That’s why it was important that Microsoft integrate LightSwitch with Visual Studio 2010.  Because in 6 months when the CxO finds out that the reason the company is saving x% in costs in Finance is this little application Dave created and that 2 or 3 ‘minor’ enhancements would just save more – Dave’s project is suddenly going to get priority.

In the past when this happened everyone groaned because it often meant a complete rewrite from scratch.  With LightSwitch that may still happen sometimes, but the fact that LightSwitch gives us a project built with the same tools and technologies that IT is building with means that there is a much greater likelihood that instead IT can just add capabilities to the original application.

LightSwitch generates an application that uses Silverlight 4 and by default starts in out-of-browser mode.  To the non-techie – it’s just another application on their desktop.  However, with the flip of a setting (in the beta it’ll be interesting to see if it can remain this simple as more people play with this) the application can become web based and talk to distributed data sources.

Speaking of distributed data, it looks like a lot of effort has gone into not only supporting traditional SQL Server data sources, but also support for XML and in particular SharePoint list data.  It is this last category which in some ways makes LightSwitch so powerful.  The wildfire like proliferation of SharePoint data embedded in SharePoint lists being available with no code is a powerful feature.

Overall keeping in mind that this is still a Beta and we don’t know how long it will take Microsoft to finish polishing up the rough edges, this is just as promising a tool as it was 18+ months ago when we first started hearing about it.  If Microsoft manages to properly target the business user with features like built in Export to Excel (or Word) this has the potential to have SharePoint like adoption and change the developer landscape.

Tuesday, August 03, 2010 5:00:04 PM (Pacific Daylight Time, UTC-07:00)  #    Comments [0] -

# Saturday, May 01, 2010

It’s almost been a couple weeks but I want to get my ride results in for the Tour de Cure here in San Diego.  A fundraiser for the American Diabetes Association, the 2010 tour used the same excellent routes as the 2009 tour that I blogged about here: http://nerdnotes.net/blog/PermaLink,guid,70d1a34e-b41f-4124-a563-efb8dc736c36.aspx

Once again I considered the century route and on the day of the ride (or day before in this case) decided to go with the 71 mile route.  However the difference from last year is that last year at the end of 72 miles my thought was ‘good decision, not sure I could have made it another 30 miles.’  This year at the end my thought was - ‘I should have gone for it’ which is a good sign.  I have been getting in more training but was just a little short of what I considered my comfort level for doing the century.

The result this year were similar at one level with my results the year before  The Garmin shows me at 13.7 mph again this year.  However, I know I spent a significantly longer time at the 3rd rest stop as I’ll explain in the numbers. Last year the 3 legs averaged 14.0, 14.4 and 15.8 respectively.  Unfortunately this year I forgot to tag my garmin when I left rest stop 3 and lost that gap in my timing.  However, my first two legs averaged 15.5 and 15.2 respectively.  That’s an awe inspiring 1.5 mph increase in the first leg and a solid .5+ in the second leg.  Why is that time important? Because even though in terms of hours on the clock my times were almost identical the bike computer tells the rest of the story.

On my bike computer my bike computer showed that my average speed climbed from 15 mph to 16.1 mph and my time spent riding was only 4 hours 30 minutes.  That means almost 45 minutes was spent stopped.  17 minutes was spend at my favorite rest stop – stop 2, just before the climb up Circle-R.  It’s run by a sorority and in something even rarer here in SoCal – the shade of trees.  The third rest stop took up an even bigger chunk because I stayed a little long to go for a ride with my Doctor. He was also on the ride again this year (I think he last did it in like 2007 when it was still out in East County.)

He was a little slower than me – he’s also more than a couple years older and has a hip problem.  The interesting thing is I actually felt I was sand bagging in the last leg even though my speed was taking me well over a 16 mph pace for the full 70 miles.  That’s why I wrote I could have taken on the 100 miles. 

Once again it was an awesome ride, a great day for a ride and a great group of people to be out riding with.  The ride was somewhere around 1000 people this year – well above the 300 or so that would come out when I started back in 2003.  I think the ride raised somewhere around 400K for the ADA which is used not only for research but also for education and assistance programs for those with or at high risk of Diabetes.

In theory you can still make a donation through my page at: http://main.diabetes.org/goto/BillSheldon

Finally I’m going to leave with a post I’m making to the blog on that page.  It involves a friend of mine Scott Hanselman…

I'm sure that some people think the reason I ride is because I have Diabetes.  That's not really accurate.
A more accurate statement is I ride because by being diagnosed I learned about Diabetes - not just Type 2, but also the less common but far more devastating Type I.

Type 2 which I have is something I like to think of as "God's way of telling me to get off my fat but and get rid of my belly."  That's a very 'optimistic' view but still for me Type 2 Diabetes is something I may have but not something that has me.

Now let me describe an entirely different disease.  It strikes people who are still young, it's fatal and without expensive treatment and drugs, but eventually still terminal.  Even with those drugs and treatments it's 100% incurable and has taken some amazing people before their time.  Research in recent years has made amazing progress and those diagnosed now live years longer than just 20 years ago.

Sounds a little like AIDS - but it's not, that's Type I diabetes and the big difference is that 1. it's not contagious, 2. It strikes almost randomly to people between the age of 6 months and the late 20's.

As I learned about my disease and how to manage it, I learned about Type I diabetes and just how devastating it is. 

An acquaintance of mine ( I hesitate to say 'friend' although we co-authored a book together) has Type I diabetes.  Scott Hanselman, currently of Microsoft, is quite open about his battle with this disease.

Scott just yesterday posted a new You Tube video that I'll link to in a second.  However, before you go to the video let me speak for Scott for a second.  In it he shows just what's involved with setting up his insulin pump and continuous blood sugar monitoring.  It is painful to watch - but he isn't complaining about the process.  He would be the first person, and I'm pretty sure he does at the start, to say how amazing and wonderful this process is compared to the alternatives.  When I said advances in technology and treatment have helped with the control of this disease the process Scott shows is testament to that.

The key in the video however is at the end.  This is the point where Scott and I have a common feeling.  He'll hold up his tray of waste from the process and then he explains the real motivation.

I mentioned this disease strikes children as young as 6 months - think about going through the process Scott shows - or worse being limited to test strips and 3-4 injections a day from that age.  Think  about that as you watch the process Scott is demonstrating.  Scott described this video on Twitter as having his 'fat' belly on display - but a more accurate description would be 'bruised' belly - look for it as he sets up his glucose monitor and think about having multiple bruises like that as a child, the daily, weekly pain of the injections and finger sticks that leave bruises like that - even when you do them perfectly.

http://hnsl.mn/iamdiabetic 

but he’s not alone, so here is a young man I’ve never met named Thor – check him out, then think about the process involved in setting up that pump he’s using:

That’s why I ride, donate and raise money - not for me; Type 2 Diabetes? I can handle this, and in comparison, its not bad at all.

Update: Made some minor gramar and typo corrections, and need to note one wording issue.  The last sentence implies I only ride to raise money.  To clarify, I got back on my bike and started riding it to help control my disease.  That sentence isn't refering to me on the bike in general, its focused on why I ride in the Tour de Cure every year.

Saturday, May 01, 2010 12:00:04 AM (Pacific Daylight Time, UTC-07:00)  #    Comments [0] -
Cycling | Diabetes | Musings
# Friday, April 30, 2010

The real test of a presentation is when you come back 6 months later to repeat the steps.  Now you no longer remember much because you don’t often use a particular skill.  In this case it’s creating a bootable VHD image, which was part of my presentations for Beta, Beta Everywhere: http://nerdnotes.net/blog/PermaLink,guid,1d2dd740-8f6c-4417-80fe-604eb5665bb7.aspx

The first thing I forgot to note but quickly realized is that Windows Server 2008 can’t be a bootable image.  Fortunately Windows Server 2008 R2 can be… so no worries, just need to burn the correct DVD.

The second item was more challenging and it involved DISM.  The easy way to get the information to use to create  your image is to use the index value of the image file from the DVD.  To get this you leverage DISM.  All good, until it came to an example of the command line you actually need.  I don’t think I captured it.  So here it is for future reference:

C:\Windows\system32>dism /Get-WimInfo /WimFile:e:\sources\install.wim

The output from that line will list the index and name of each image on the DVD.  And now in 6 or 12 or 24 months when I need it again, I’ll have it at my fingertips.

Friday, April 30, 2010 2:47:00 AM (Pacific Daylight Time, UTC-07:00)  #    Comments [0] -
.NET | Technology | Windows
# Friday, April 23, 2010

Yesterday when the Microsoft made the RTM version of Office 2010 available I downloaded and installed it.  I know – shocking news.

The question however is did I have any issues?  The short answer is yes, but none that were the fault of Office.

The first issue was that I decided to move to the 64-bit version of Office instead of the x86 version.  Unfortunately what I found was that the 64-bit installer won’t upgrade or automatically uninstall the 32-bit version of Office.  It gives you a warning that you can’t install until you manually uninstall your 32-bit Office applications – no side by side installation. 

No worries, I removed my 32-bit copies of the Beta as well as my hotmail connector (I use a Windows Live address my primary professional email address.)

Following the uninstall the install went fine.  No issues with getting the new 64-bit version installed.  I then opened Word and Excel – no problems.

Then I opened or should I say ‘tried to’ open, Outlook.  I got a notice that I needed a connector to correctly open my mailbox.  That’s it, with that message Outlook said ‘goodnight’. 

So off I went with Bing to get the Hotmail Connector for Outlook, which historically was 32-bit.  Bad news again, the 32-bit Outlook hotmail connector won’t install with 64-bit Outlook.  It gives a message that it’s only compatible with Office 2003 or 2007.

I sent a note off to some friends on the MVP list and described my issue and fortunately one of them was able to point me to the 64-bit version of the Hotmail connector for Outlook.  Its a Beta, but it installed and my mail is once again available.  The location of the 64-bit connector is:

http://www.microsoft.com/downloads/details.aspx?familyid=16BAB660-54D8-4129-91C3-D86FF0D996E9&displaylang=en

Hope this helps anyone else with a similar issue.

Friday, April 23, 2010 11:25:30 AM (Pacific Daylight Time, UTC-07:00)  #    Comments [0] -
Office 2010 | Technology | VSTO
# Friday, April 16, 2010

So a quick story from home because it’s one of those things that I’ll forget in the years ahead but might remember if I write it down.  Plus in years ahead my son won’t believe it.

Billy of late has had some issues with going to bed on time.  Usually he asks me to stay or wants his door left open, or wanders out of his room after bed… if you’re a parent you know the drill.  For those not personally familiar with us, Billy is the older of my two boys, and almost 4.

Earlier in the week Billy had watched “Horton Hears a Who”, if you aren’t familiar this is an adaptation of a Dr. Suess book.  The main character Horton is an elephant who hears voices from a small ‘flower’.  The story is about how the town of ‘Whoville’ exists on this flower and Horton’s struggle to protect the flower and town.  The book’s climax is when everyone in town get’s together to call out ‘We are here, We are here’ to make enough noise for others to recognize they are there and spare the flower.

Last night bed time rolled around and we put the boys down. I had stayed in Billy’s room for about 5 minutes (once lights were out we were counting – I’ve been teaching him that counting is a good way to fall asleep, so we had counted to 100 and then again by 5’s.) but then it was time for me to leave.  He protested (of course) but it was time, so I closed his door to his complaints and headed downstairs.

A short while later I could hear something from upstairs.  Listening closer it was Billy ‘yelling’, so I asked Tracie which of us would be headed up to deal with Billy and she volunteered.  A little while later she came down and let me know that she had left Billy’s door open.   When Tracie got to Billy last night he was laying in bed calling out “I am here, I am here”.

Friday, April 16, 2010 9:59:12 AM (Pacific Daylight Time, UTC-07:00)  #    Comments [0] -
Family
# Thursday, April 15, 2010

Not mine… rather a quick thought that occurred to me today looking at some Science Fiction books on sale.  I was thinking about how much fun it will be to share many of the books and stories I grew up reading with my sons.  The good stories are still a few years off, but I look forward to moving past Mickey Mouse, Thomas the Tank Engine and similar cartoon characters and picture books for some real literature… not that I’ve been doing such a great job keeping up with the latest stories.  It must be time for me to read a good novel. 

Thursday, April 15, 2010 12:55:14 PM (Pacific Daylight Time, UTC-07:00)  #    Comments [0] -
Musings
# Monday, April 12, 2010

Well the full namespace for this method is System.ComponentModel.DesignerProperties.GetIsInDesignMode(Me)

In the spirit of my last post discussing how Visual Studio 2010 (VS2010) lets the developers get access to a visual designer for Silverlight, lets look at why if you are doing Silverlight 3 with Visual Studio 2010 you need to get familiar with GetIsInDesignMode.

If you are like me, when my application opens I have it start loading data.  I don’t typically open an empty application and then ask a user to take an action to load some data, I typically default to some level of data that the user will act on.  Typically this is done by adding code to the Loaded event for your form or control. 

This is still a valid implementation, however VS 2010 brings with it full designer support for Silverlight 3 (Silverlight 4 as well when it releases).  As part of this when a Silverlight page/form is loaded into the designer, the designer fires the Loaded event to get any key data that is part of the running application.  This is great because it is not uncommon to have certain key settings within this first event, key settings that are related to your design.

However, that also means code which by default loads data will also be called.  That isn’t what most of us intend.  In fact if your services are hosted within the same solution odds are good that your service isn’t running while you are in design mode.  To avoid paying the price of having unnecessary code run when you put your XAML application (Silverlight 3 which you’ve probably built without a designer in particular) is to leverage GetIsInDesignMode().

Simply place your code within an if block like:

If Not System.ComponentModel.DesignerProperties.GetIsInDesignMode(Me) Then

‘My custom Code

End If

Of course I’ve put all my code in Visual Basic syntax, so let me slow down a second and make sure I don’t leave C# developers out:

if (!System.ComponentModel.DesignerProperties.GetIsInDesignMode(this))

{

// My custom code;

}

Regardless of your implementation language, taking a moment to optimize your designer experience and keep from loading or trying to load default data while in the designer is a good idea.

Monday, April 12, 2010 9:34:19 AM (Pacific Daylight Time, UTC-07:00)  #    Comments [0] -
.NET | C# | Technology | Visual Basic | Silverlight

Visual Studio 2010 launches today.  Tomorrow, is the launch (if not the release) of Silverlight 4. Neither of these launches involves the launch of XAML, yet in my opinion the release/launch of Visual Studio 2010 brings XAML into the mainstream.  It does this by providing a visual designer within Visual Studio which truly supports the design of business applications.

While Blend exists for those looking to develop a creative and/or complex user interface, and while certain customer facing applications might see value in such an interface.  For the majority of software even that which is public facing, isn’t looking for a creative user interface.  Most software applications simply look to provide a simple yet distinctive user interface.

The difference is important because a creative user interface focuses on having unique behavior and display characteristics, while the later focuses on having predictable behavior with a distinctive identity.  Up until now to get either of these you were looking at either having someone use Blend or someone who could build the user interface with little or (in the case of Silverlight) no designer support.

Visual Studio 2010 doesn’t replicate the raw creative power of Blend, but again in my opinion it doesn’t need to.  Look most of us that are software engineers/developers have some level of design capability but are quick to step aside from someone who spends full time doing design work.  The majority of software engineers are not looking to design a set of color schemes, logo and branding components.  Blend is designed however to support the creation and application of these items.

What most software engineers do find themselves doing for the majority of applications is laying out controls, assigning background coloring, applying branding, logos and color schemes.  Up until Visual Studio 2010 it was difficult to carry out even these simple design tasks for WPF; and Silverlight 3.0 simply didn’t support visual layout.

Visual Studio 2010 makes it possible for engineers to carry out the core layout of application user interface elements such that many of the people and organizations who either considered the use of these technologies to require over priced consultants or who attempted and shelved such projects to take on these projects.  Moving forward WPF and Silverlight will become the common user interface implementations because just as Windows 7 brought touch capabilities into the mainstream, Visual Studio 2010 brings XAML user interface design into the mainstream.

Monday, April 12, 2010 3:36:30 AM (Pacific Daylight Time, UTC-07:00)  #    Comments [0] -
.NET | C# | Musings | Technology | Visual Basic
# Friday, February 19, 2010

No I haven’t been online much…. been busy with Professional Visual Basic 2010 (http://www.wiley.com/WileyCDA/WileyTitle/productCd-047050224X.html).  I finally finished my last chapter (someday I’ll post the list of chapters which I did.)  and we’re now just in edits.  This week was the MVP Summit so I’ve been tweeting more than blogging, but learning and giving feedback on Visual Basic.

Many thanks to two groups in particular.  First to Nestor Portillo, Emilie Freet, Susanna Moran, PJ Forgione and everyone else in Microsoft’s MVP organization.  As usual they spent a great deal of time setting up an awesome event.  They helped facilitate a great deal of face time for us with the product teams, made sure we saw compelling content and coordinated a host of logistics.  This remains one of the top 2 or three features of being an MVP. – Special thanks to Emilie and the Developer Evangelist field org for the new MVP jackets a great surprise on Tuesday (and for getting me one even though I hadn’t scheduled anything because that’s when my flight arrived)

I’d also like to thank the whole Visual Studio languages team, and in particular:

- We had a surprise on Tuesday when Anthony Green let us know that he was now a “blue badge” (ie. Microsoft employee) so congratulations on your new role as a PM for the Visual Basic compiler.  His passion for the language should help him have great success.

- Charlie Calvert and Lisa Feigenbaum (who’s name I’ve probably misspelled) these two people took the lead on coordinating the interactions for the language MVPs at the Summit, including in the case of Charlie working to support the ever popular MVP to MVP sessions, and for Lisa for the great swag. (photos to follow)

- To the entire languages org, the Help and Community contacts, the CLR team and everyone else who met with us.  Thanks for taking the time to give us an idea of where you are headed and letting us give you some feedback on where we hope you are headed.  You openness and willingness to consider and respond to our thoughts is great.  btw, Lucian has a portion of this discussion available on his blog at: http://blogs.msdn.com/lucian/default.aspx

Overall this year’s MVP Summit has been a great event and as always I come away motivated to do more.

Friday, February 19, 2010 3:43:34 PM (Pacific Standard Time, UTC-08:00)  #    Comments [0] -
.NET | Technology | Visual Basic
# Wednesday, January 06, 2010

I managed to note on Twitter that I was speaking last night to the San Diego .NET Developers Group.  The session went well, it was an updated version of the presentation I did last year related to working with Boot to VHD and it's usefulness in working with Beta software and in this case actually digging into Visual Studio 2010 Beta 2.  The slides have been updated (and will be again prior to code camp) so for those who are interested here are my slides.  You'll note a couple that are heavy on graphics - yes those are the ones I incorporated from Microsoft materials, I don't make pretty pictures -especially not if my face is in them :-)

VS2010_1_5._2010.pdf (2.01 MB)
Wednesday, January 06, 2010 11:22:14 PM (Pacific Standard Time, UTC-08:00)  #    Comments [0] -
.NET | C# | PresentationMaterials | Technology | Visual Basic
Archive
<May 2012>
SunMonTueWedThuFriSat
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789
About the author/Disclaimer

Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.

© Copyright 2012
Bill Sheldon
Sign In
All Content © 2012, Bill Sheldon