Reuse usercontrols, masterpages, etc in ASP.Net 2
November 18th, 2005
How many times you wanted to reuse asp.net artifacts like usercontrols, or even pages? Dan Wahlin posted to the aspadvice.com list regards this issue. He wanted to reuse a master page accross different websites (hosted on different vdirs).
I’ve recommended him reading this post from ScottGu
and he got working a first version. The idea is to sign and publish the
website and put it on the GAC. Then on the website that you want to reuse create an empty
masterpage and make it inherits from the GAC masterpage class. The
entire post can be read here.
"When the project gets closer to the delivery you normally throw away UML models"
November 8th, 2005
I haven’t said it. It was Grady Booch at OOPSLA ‘05. And I fully agree with him
That’s why the next friday I will show the DSL toolkit
which is a framework from Microsoft to model concepts of your business
not tied to any particular designer or notation. You can do your own
designer and code-generation artifacts around it and they will survive
all the phases of the project because are business concepts and not
implementation concepts.
[via Juga-Peka]
Rob Howard: Is "Smart Client" a "Dumb Idea"?
November 4th, 2005
I’ve read this post from Rob Howard yesterday and found it very interesting.
.
Some background on Rob Howard: He worked on MS in the ASP.Net team on
the 1.1 version. He always had a big focus on community. For the ones
that knew aspfriends.com lists (now aspadvice.com) and the online
ASP.Net forums he always participated actively on them. He left MS one
year ago and founded Telligent which built the famous Community Server product. An engine to run blogs, forums, photo galleries and stuff related to community oriented sites. Indeed we at Southworks are running it as the blog engine.
In case that you don’t want to press the link to go to the Rob post, I’ve paste it here and commented it below.
Back in April I did an interview with The
Server Side where I made this statement in an
interview:
“… the level of growth and the adoption [of ASP.NET]
and the smart client market, or the
smart client adoption in the community its definitely very different. So I think
that there is actually a tremendous amount of opportunity [for Smart
Clients], I think if Microsoft
matures its technology, things like
XAML and some of the new things that are coming out, I think there is going to be more and more
opportunity for the smart client developers to do some very powerful
things, because there is a lot of
flexibility that exists on the client machines aren’t being taken advantage of.
People are buying these high-end,
dual-processor one gig RAM machines and then using a web browses to run their
application. When you look at that capability you think, gosh,
how can I use that? How can I use that to make my experience for the end user
that much better and so you’re absolutely going to see more smart client
applications”
I’ve been thinking about that statement a lot lately. At
the time I made it the statement of “smart or rich” clients made a lot of
sense, but the more I’ve thought
about it - and then read about some of the new “web enabled” offerings coming
out of Microsoft like live.com - and being part of a company building an
ISV business
around Community Server I’ve had a change of
heart.
Why? Building web applications and more importantly
supporting web applications is easier and costs less. It also comes from talking
with and interacting with my non-tech savy friends: installing software is
misery; most OS specific software is not consistent, i.e. the user interface is always
different, and it’s so incredibly
challenging to support and upgrade. Watching someone like my wife use a computer
makes me realize that she, as a
pretty typical user, does about 95%
of her computer usage through the browser: hotmail, amazon.com, ebay.com, wellsfargo.com, quicken.com, etc. The other 5% is spent in Word, but even those uses (printing cards, printing labels, etc.) could be easily replaced by a web interface.
Case in point, if I bought my wife a
Mac as long as it has a web browser she would be absolutely
content.
Are there applications that should not be web
applications? You bet:
1. Web
browser - it’s frustrating that Microsoft takes SOOOO long
to ship software. And more frustrating that it took them this long to update
Internet Explorer. There is still so much that needs to be done. Especially now
that more and more people think of the web browser as the “host” for their
software. But, web browsers (FireFox
included) aren’t quite there yet. Hopefully now that MSFT is back building web
browsers we’ll see some progress again (competition is
good).
2. Office
tools - Microsoft Office. Buy it, install it, use it,
you won’t find anything better. Enough said.
3. Developer
tools - Tools for writing software. More specifically great
tools like ASP.NET and Visual Studio 2005 for writing web
applications.
4. Games - I just can’t imagine
CounterStrike running in the browser yet
Sure, there
are lots of other little applications such as calculator, messenger, etc. that belong as desktop applications. Google gets
this and I think pockets within Microsoft get this too. But
remember, the fuel for Microsoft is
license sales of Windows and Office. Anything that threatens that is taboo. And
the problem is that the OS and Office tools are close to reaching the
“yeah, so what” point. That’s:
“yeah, so what, there is another verison of [Office/Windows]
available, why do I need
it?”
Don’t get me wrong. I’m looking forward to Vista and Office 12, but I’m also a big computer dork who thinks this
new stuff is “cool”. The actual end user benefits are incremental and definitely
not the gigantic leap forward in stability or usability that were seen in the
mid-90s. I’m going to have to pull teeth to get my non-techy friends or my wife
to install a new OS or new version of Office — put simply: they just don’t
care, it all works
already.
A big selling point for “smart clients” is also the
“what if I’m offline” problem. The only offline application I care about is
email and that problem has already been solved in Outlook.
Furthermore, the times I’m actually
offline are few and far between and typically at times where being
online, such as driving
home, isn’t exactly a good idea.
Practically any urban center has some sort of wireless connection these days.
Offline isn’t really that big of a problem and is becoming less of a problem
daily.
Which brings me around to my point. Why should you care
about writing smart clients. You probably shouldn’t. If you can write it as web
application do it. It’s easier to support, faster to author, easier to distribute, and everyone can run it without installing
anything. For example, we update
software that our customers use weekly (yes weekly). Every Thursday we update www.communityserver.org to the newest
version of our software. We don’t have to install anything on our customers
machines and most importantly we can do this as often as we
want.
Are there cases where you and I as developers will still
author “smart client” applications? Absolutely, but only when it can’t be a web application first
Now, my opinion…
Personally, I think that Rob has very good points. This is damn true ““I’m going to have to pull teeth to get my non-techy friends or my wife
to install a new OS or new version of Office — put simply: they just don’t
care, it all works
already”. When
talking about these end-users all the points stated are more than
valid. However developing software is not only aimed to these kind of
end-users. There is a whole big world of corporations out there who are
seeking to have better front-ends and better workflow solutions with
Vista and Office 12 and they will invest in the migration. Nowadays
write web applications with rich UIs and kick-ass user experience (ala gmail, google maps, etc) is not as easy as do it in smart-client apps, and the gap will be bigger when developing with WPF.
Mauricio Grimberg (where’s Mauricio blog?
from the MUG architecture
maillist also makes a good point: we need to write applications well
decoupled and independent from the front-end. That’s why I’m putting
emphasis in mastering WCF, WWF, DSL, [^UI]n,… but not master WPF. And here we can chain with another subject that Clemens Vasters clearly expose: Visual Studio Overload and the Specialization Gamble
Technight: Model Driven Development, Software Factories y Generación de Código en .NET
November 2nd, 2005
This Technight will be really interesting. IMHO Model Driven
Development and Software Factories will be the next paradigm on
software construction.
Alejandro Jack will present both subjects theorically and I will dig
into the Microsoft DSL Toolkit showing what could be done using this
new technology. Angel Lopez will show a code-generation tool ready to
be used today and will also present theorically the subjects. He’s been
reading a lot during his life regards MDD and Code-gen so expect an expert on the field.
Subscribe to the Event
Viernes, 11 de Noviembre de 2005 07:00 p.m. - Viernes, 11 de Noviembre de 2005 10:00 p.m. (GMT-03:00) Buenos Aires
The DSL toolkit is CTP quality but there is a growing community
building stuff around it. These are the resources I found most
intereseting:
4 Part series on how to build a DSL
The Template syntax (T4)
FAQs on the DSL Forums
The DSL Forums
You can download the slides of the talk from here
http://www.southworks.net/msdn/technight/mdd/