Rick Strahl's Weblog  

Wind, waves, code and everything in between...
.NET • C# • Markdown • WPF • All Things Web
Contact   •   Articles   •   Products   •   Support   •   Advertise
Sponsored by:
West Wind WebSurge - Rest Client and Http Load Testing for Windows

ASP.NET Connections Wrap-up

On this page:

Another conference behind me. Phew… I had a ton of fun this week at the Connections conference in Vegas, but as always it’s quite an experience to go through from my end. Over the years, I’ve done my share of conference speaking and even though it’s become almost a routine part of what I do, I always marvel at how exhausted I am at the end of it.


Part of it is the thing that as speaker, you’re supposed to be ‘on’ all the time and while you’re at the conference there’s a constant stream of questions and conversations happening, mostly about technical content. I love talking to people and so it’s not uncommon to get sucked into long discussions in the hallways lunch room and trade show which is great. But it’s also subtly draining especially when you mix it with preparing for sessions and worrying about content and fragile demos <s>… I don’t notice it right at the time it’s happening, but on Thursday night – which was my only ‘off’ night in Vegas I suddenly realized I was dead tired. I headed up to my room at 10pm, laid down for a few minutes of reading, dropped the book on the spot after half a page and was out like a light… yeah Vegas baby! <g>


It doesn’t help that the conference organizers set me up with three sessions all before 10am (two 8am and one 10am). That time is not exactly when I am at my most bright eyed and bushy tailed... in Hawaii time I’d just be going to bed around that time <g>. I was actually surprised that was as awake as I was given that I didn’t sleep much during the previous days (I think I managed 12 hours of sleep in 3 days - yuk).


This conference was big - maybe a bit too big for my taste in a number of ways. Nearly 5000 people between the various tracks mixing both IT and Developer tracks together. And that's probably the biggest problem I saw: Some of the mixed sessions like the keynote and the closing session really suffered from lack of focus where developers where bored to tears by the 2 hour keynote which mostly IT related and the closing session dominated by Sharepoint questions <s>. I think this format would greatly benefit by at least isolating developers from the infrastructure folks.


As a speaker too I was doing two of my sessions in a monster room that looked like it holds close to 1000 people with actual attendence being closer to 150-200 (it's really hard to tell in a room like that though). Not only does it feel kinda weird to have so many empty seats, but the room being so big it also makes it nearly impossible to have any audience interaction - heck the nearest seat was probably 50 feet from the stage. I personally prefer a more personal environment that makes interactivity a little more natural. I felt like calling out, 'Alright! How are you doin' Vegas!' David Lee Roth style constantly <s>...

My Sessions

I was pretty happy with my sessions this year except for one due to uh – technical difficulties.


For those of you that read my blog you probably noticed that I was working a bit with Localization related stuff for some time for my Data-driven Localization with ASP.NET talk, which was a long road to get going and dialed. As usual it was the talk I worried most about and it was of course the one that went off the smoothest. I was surprised how many people showed up for it and how many of them were actively involved in localization and had many great questions on the topic. Localization isn’t exactly one of my primary skills, and it’s been enlightening to spend the time and learn and get on top of such a complex topic. My goal wasn’t to cover everything there is to know about Localization (even in ASP.NET <s>) as it’s an incredibly complex topic that could take a whole day to be covered in detail. Rather my goal was to review the key ASP.NET features that developers are likely to be exposed to and then talk about using an alternate ResourceProvider to serve localization resources from a database. The session actually has coincided nicely with a need in several applications I’ve been working on for providing dynamic, runtime based localization features so this worked out great. From the feedback I got, it looks like this talk struck a nerve too – lots of interest in the data-driven provider I showed.


My Intro to Ajax talk didn’t go so well due to some nasty technical problems. First the audio cut in and out in an incredibly annoying fashion that completely threw my concentration off for the first few minutes. After some back and forth with the audio guys we managed to get the sound working somewhat better although I don't tihnk it was ever quite right throughout the session. Then a few minutes later my machine’s keyboard froze, followed by the screen locking and requiring a full reboot. Eeek… talk about ‘when it rains it pours.’ Anyway I was lucky enough somebody on the conference staff had the forethought to set the desktop machines straight to the slide folders from which I could run the slides and online demos while my machine rebooted.  I got back on track, but at that point we were 15 minutes into the session.


This sort of thing is frustrating not only because of the failure itself but because it throws the whole rest of the session. Once you lose 10-15 minutes it’s often hard to make the rest of the session work trying to get through the material. <shrug> So it goes sometimes…


Luckily my Taking Atlas/MS Ajax for a Ride session went much smoother <s>… There were lots of questions during the session which is great. I took a little different approach in presenting this content than I usually do and rather than showing lots and lots of code, I showed various examples and discussed some of the decisions on why each specific MS Ajax technology was used. Given the questions that resulted from the audience I think that this approach works actually well in making sense of the large toolset that MS Ajax provides…


MS Ajax Discussions

MS Ajax was of course the topic that seemed to be very prominent in discussions I had with attendees as well as with various speakers. I am still of mixed mind regarding MS Ajax. I really do believe Microsoft is not providing enough value with this initial release of MS Ajax and making many things that are in the framework more difficult than they have to be. In discussing this with other people ‘in the know’ I was not surprised that many share the same view.


I find this thinking only reinforced after walking through the tradeshow and spending a bit of time looking at what third party vendors are doing with MS Ajax. These vendors are building on top of the base platform and it’s impressive what they are producing, especially given the short timeframe they’ve been given so far and the changes that have come down from Microsoft. But what really sticks out with the vendors is that they are not only using MS Ajax, but they have built elaborate abstraction frameworks on top of MS Ajax to most likely shield them from future changes in MS Ajax. The reality is if there was no MS Ajax, they would have this functionality anyway… <shrug>


Looking at the controls from third party vendors, it seems to me that Microsoft should be providing some of this value out of the box. I’m not suggesting that Microsoft should provide super-slick high level controls as these vendors do that would put them out of business, but a base set of client side controls surely can’t be too much to ask? Where is the end user value in MS Ajax beyond UpdatePanel especially for the client side?


I ask this specifically in light of the questions I got from many developers at the conference who for the most part seem to want to avoid JavaScript as much as possible. Everyone is impressed by UpdatePanel which is nice, but it’s not the end-all answer to AJAX applications. Once you walk the AJAX model sooner or later JavaScript code becomes part of the solution and here’s where things seem to be minimal beyond the ‘system’ level. But for the ‘casual’ JavaScript coder MS Ajax offers very little in the way of functionality. Certainly building JavaScript controls is not going to be a common scenario for most developers and this is where most of the V 1.0 target is aimed at. But even the value-add doesn’t provide much in the way of control functionality that screams out you to go wild in minimal JavaScript code used to update page content from callbacks.


I’m sure this model will improve greatly in the future, but for the moment it’s not enough to justify the size and complexity that the client side MS Ajax framework brings. I am thinking about this in the context of the samples I created for session – I really had to struggle to come up with ways incorporate some of the Ajax client side functionality into the demos and most are frivolous at best and most could have been just as easily or more logically addressed with just plain JavaScript and DOM code…


Ok, that’s a discussion for another day <s>…

Social Networking

One thing that is always fun at conferences like these is running into people I’ve known for ages. I actually ran into quite a few FoxPro folks of old some of whom I’ve seen going to conferences for nearly 10 years now. Of course, more recently I also see many familiar faces from other .NET conferences who show up again and again and it’s great that there is that sense of continuity you have even when there’s 5000 people milling around, although with 5000 and a hotel that’s the size of a city it’s not exactly a small and cozy environment. Any sort of community gathering requires some planning – nothing impromptu about it. It’s also nice to catch up with friends in the evenings for a night out on the town as well as making a few new ones along the way. Thanks to all of you who’ve made my days so much fun…


I also greatly enjoyed the discussions with various speakers especially on the topic of Ajax technologies. I talked at length with Dino Esposito, Stephen Walther (who I hadn’t met before), Dan Wahlin and Steve Smith and it’s interesting to get each of their varying perspectives on the technology.



As a speaker it’s also interesting to see how other speakers are running their businesses and making ends meet. I spent some time with Steve over dinner just bullshitting about running a small business. Sometimes it’s good to see that others are struggling with the same issues of time management and small business management in general and that you’re not just a freak out in the wild. Well, maybe I am… <s> Conferences are just a great place to network and hang out and just see what other like minded folks are doing in their work.


One of my social highlights though was one night I caught up with Colin Nichols who took me to Sushi somewhere in the Vegas ‘burbs’. I’m pretty spoiled when it comes to Sushi, and Sushi in Vegas (where’s the ocean) normally doesn’t sound so appealing, but the places he’s dragged me too have been amazing in variety and sushi imagination! Many cups of unfiltered Saki later made for a nice kicked back evening...


Back Home

The Connections conference is the end of a long stretch of an ultra-busy period I’ve been going through. Between various consulting gigs and preparing for this conference the last 3 months have been nearly non-stop and pretty stressful on my end. I tend to avoid overbooking myself with work to avoid burnout, but I overstepped my own boundaries recently.

Thankfully, things are slowing down at the moment and it’s time to spend a little more time offline and get back into the things that are really important… hey what good is it to live in Hawaii when you never have time to get outside to the beach in the day <g>…


And with that I’m outta here for a swim…


Ah, life is good!



Posted in ASP.NET  

The Voices of Reason


Bertrand Le Roy
November 11, 2006

# re: ASP.NET Connections Wrap-up

Rick, come on, you know about the Toolkit, don't you?

Rick Strahl
November 11, 2006

# re: ASP.NET Connections Wrap-up

Bertrand, the toolkit does what? A few reasonably useful UI features, but in the way of providing real functionality for building applications? Not much, no? Out of the whole list the only control that even resembles a 'data feature' is the Reorderlist. The rest are mostly UI flash controls.

Bertrand Le Roy
November 12, 2006

# re: ASP.NET Connections Wrap-up

Oh, you meant data controls? That wasn't clear from your post. They're in the Futures CTP, as you know. Sure, there are currently some issues, but it's still a beta.

Steve Smith
November 13, 2006

# re: ASP.NET Connections Wrap-up

It was nice chatting with you throughout the conference, Rick. I've read plenty of your articles and said 'hey' a few times in the past, but this was the first chance we had to really talk and I agree, it's good to see how other independent folks in our line of work are balancing work and business needs and having a life. I still really envy the fact that you live in Hawaii (it's rather cold in Ohio right now, and getting colder). :)

November 14, 2006

# re: ASP.NET Connections Wrap-up

Good post, and I totally agree to your comments about MS Ajax.

1. where is the .js intellisense for Atlas API ? After all this time, this is what developers need - sorry, but I've seen some great examples posted, and I think 'do they expect each and every developer to have this deep understanding of the API to write a simple control'?

2. The most common use of the MS Ajax setup is the UpdatePanel - it's a great great feature. However, it needs to work with Treeviews, Menus, web parts, custom controls, etc... the idea is simple - eliminate these annoying postbacks!

3. The toolkit is a great idea Betrand, but, I must confess, Rick hit it right on the head: UI flash controls!

4. I'd have been really happy to see a good drag and drop API out of this toolset. Simple to setup dragable objects with designated drop zones. For example - a drag and drop Treeview - or the ability to rearrange items in a list. These need to work to then be 'savable' with a server-side call. ie. the rearranged items in the listbox - the listbox doesn't know about the rearrangement - it then becomes a hack job of javascript to make this happen.

It's very difficult to communicate with the team on the direction of Atlas. I used it quite a bit a few month back, and a ton of ideas of where it could very practical came about when using it in 'real life' situations. But, the biggest problem I have is trying to communicate these to the team - the asp.net forum doesn't seem to get the responses from the dev team.

Thanks Rick

November 14, 2006

# re: ASP.NET Connections Wrap-up

"But for the ‘casual’ JavaScript coder MS Ajax offers very little in the way of functionality. Certainly building JavaScript controls is not going to be a common scenario for most developers and this is where most of the V 1.0 target is aimed at. But even the value-add doesn’t provide much in the way of control functionality that screams out you to go wild in minimal JavaScript code used to update page content from callbacks.

After reading through this post 3 times, each time I read this sentence I say 'that is it right there'.

I think the real issue, personally, is that asp.net is 'server-side' focused. Works great for forms. It doesn't work at all for real time interactive web pages. As a C# developer, who is sold his soul to MS because of C#, a true lover of what C# brings to the table: I don't want to write javascript. I want to write C#.

So, I think the true goal then for the asp.net team is:

'how do we enable our C# programmers to do client side work utilizing C#'

The only one I see pioneering, even attempting to go there, is Nikhil's work - and I don't really see much from it.

Either that, or it's time to invest more in WPF/E. I just see Adobe making stronger movement in the area of Flex/Flash. ActiveX was the big sell before, we know how that has gone, I suggest MS figure out a way to implement C# API's on the client side that work for FireFox, etc...

Richard Purchas
November 20, 2006

# re: ASP.NET Connections Wrap-up

I have had a few clients ask I know anything about "BackBase"; granted, its a Java product but I like the simplicity of the script tags they use...and its got about 50 controls out of the box (see the Explorer example at http://www.backbase.com/demos/explorer/). Its got the capabilities that I had hoped MS Ajax was going to provide, with both server-side and client-side API's. Anyone used Backbase in anger?

West Wind  © Rick Strahl, West Wind Technologies, 2005 - 2024