# Wednesday, September 04, 2002

Maybe useful oneday

ASP.NET View State Decoder. "Have you ever wondered what was *really* stored in the view state of your .aspx pages? Well, now you can find out with the free view state decoder utility [1]. Just type in the URL of the page whose view state you would like to decode, and view the contents of the view state through a tree-view, as raw text, or as parsed XML. You can also copy and paste the view state string by hand to decode it. For a screenshot of this utility in action, check out: http://staff.develop.com/onion/images/decoderscreenshot.gif"

I've used this and loved it. It works a treat! [sellsbrothers.com: Windows Developer News]
#    Comments [0] |
# Tuesday, September 03, 2002

More links to follow up and throw away.

Here are some of the sites or links I may mention or display on today's show (hmm, megan hosting, cool ... no listing for me... hmm) ... or not: [Radio Free Blogistan]
#    Comments [0] |

A Couple Of Interesting Pieces To Read In Order Joel On Platfor

A couple of interesting pieces to read, in order: Joel on Platforms and Ray Ozzie's response.

Zeepe is a platform so the above discussion applies. The key point is probably developer usability - an area where we are, as everyone starts, at v1.0 capability. Joel is really, at the end of the day, asking for a platform that he can develop on for free (to him); as Ray says, he wants the customer to pay.  Is this because Joel is a small organisation, with low product cost, selling in a low cost arena - the 'extra' for the 'platform' would make his product unattractive? He has a choice to develop a p2p platform himself, at which point he would probably want to increase the price of his product (or add a new version to the portfolio with increased price) - would that too make the product unattractive? If so, then the market does not exist for the product.

A key point from both discussions is that applications sell platforms, platforms don't sell themselves. Lisa partly failed due to a lack of compelling applications (as a potential customer said to me - yes its loverly, but what do I do with it?). Microsoft can't sell Windows without a significant catalogue of applications - Linux will struggle until there is a significant catalogue of games for the platform?

Ray implies that route 1 for a platform vendor is to develop compelling applications that start the snowball rolling and route 2 is a set of documentation/tools/obvious development techniques that makes development easy.

Once the snowball is rolling, Joel then gets what he wants - the platform for 'free' because all his potential users already have it.

So who pays, the developer or the customer?

#    Comments [0] |

Bunch Of Useful References Cool Links

Bunch of useful references?

Cool Links. Found some good stuff tonight - sorry if I've lost the blogs I got them from... I'll add the reference later if I see it again. (Later... ahh found it... Thanks to Codaland.)

RSS 0.92 Reference - very clear and useful. Out of laziness I only implement RSS .91 right now in my webstuff... I need to upgrade to this.

RSS 1.0 Reference - not as good as above, but still pretty informative. Still debating which to support. (Happy Moof? :-p )

Eclipse plugins list - this is great as I'm starting to use Eclipse now. The DB browser and Tomcat integration are cool. Thanks Raible!

Jakarta Commons - There's just so much good stuff in here. It's not exactly new or news, but every time I look I find something I need. HTTPUtils and SequencedHashMap right now. Beautiful.

An Introduction to Object Prevalence - I haven't really groked the whole article yet, but from what I get it looks really good. Today, data persistence for object-oriented systems is an incredibly cumbersome task to deal with when building many kinds of applications... One solution to this problem is object prevalence. Interesting... in 350 lines of code I can get better performance and easier maintainability than something like Torque or Castor? Yeah, baby. That's for me.

-Russ [Russell Beattie Notebook]

#    Comments [0] |

King For A Day Sam Ruby Really Simple Syndicatio

King for a day. Sam Ruby: Really Simple Syndication. A history of RSS and thoughts for its further evolution. (18 words) [dive into mark]
#    Comments [0] |
# Monday, September 02, 2002

UI

This really is great fun from Joel Spolsky. I agree with probably about 98% of it - though I think he goes just a teensy bit overboard in places. I significantly disagree that "... and only 0.01% of them can figure out Microsoft ATL programming. (And all of them, without exception, have beards and glasses.)" - then again am I kidding myself that I have really figured out ATL programming?

A good summary is that UI design is a balancing act full of compromises and that the solution you first thought of is not the best - but if you've done it right it won't be far off.

I've lost it now, but there's some pie menu been "invented" by someone - just what problem is it that they were trying to solve by coming up with this system? Its like why write menus/toolbars in DHTML that look so different to 'native' - there's a perfectly fine implementation in Windows. (Which brings us to the rant of why MS don't use it......).

#    Comments [0] |

HTML Based Applications.

The Diminishing Importance of HTML. "HTML-based Web development has dominated application development for the last six years or so and there are no signs of that changing. However, things are changing as the .NET initiative takes hold. Although Microsoft has put a lot of effort into its Web-based interfaces, which include the powerful new ASP.NET Web Forms framework, I am guessing that there will actually be a push back to desktop-driven, forms-based applications once .NET takes hold." [sellsbrothers.com: Windows Developer News]

Ahhh, the question I keep asking myself: does .NET "invalidate" the work that has been done on Zeepe or UXP? The central thrust of the above article is that HTML based UIs are primitive or less rich than a UI based upon native OS code, and then dissallows the use of Java/Flash or ActiveX to get round the 'limitations' (there's no Tree control in HTML). Associated with this line of thinking is that HTML based UIs take longer to build than traditional UIs that might be built with say VB or C++.

The reason UXP came into existance was because I was bored to tears of the long-winded machinations that had/have to be gone through to write a simple frame window with a menu bar in VC++. VB/.NET reduce the tears but, as Visual Studio currently ships, I end up with a very dull looking application. As soon as I want a "richer" UI, simply to the level of Office style menu bars I have got to find a library somewhere to do it - OK they exist but now I want some of the richness that appears in html - say a simple pop-up panel with instructional text that is rich in appearance (use of bold/italics and color) or table rows with rich content. There's a quid-quo-pro here, .NET has solved some problems associated with web based applications and enables "rich" controls like tree-view but at the loss of richness elsewhere.

IE .htc components are a non Java/Flash/ActiveX way of adding richness and code re-usability to IE DHTML - the problem is you've mostly got to write them yourself or find others work - like looking for code libraries for .NET.

Way back when, I described (D)HTML as "breadboard" programming - you wire the bits you need together. (D)HTML applications should not be limited to the forms controls provided natively by the underlying browser since it is to miss the underlying strength of the browser - that it provides a framework into which you can plug whatever components you desire and wire them together in an extremely simple fashion. A browser should be, and is, a follower of the philsophy expounded by the originators of TCL and others - the runtime provides the fundamental services that can be scripted together to provide novel solutions.

There's a whole class of programs you can't write in DHTML - a drawing program for one - but why not have a drawing component and put a rich and novel UI around it using DHTML? Similarly, enterprise database  management applications, forms entry whatever. The above article describes the horror of someone using a badly written survey program - it was a badly written program that was difficult for the user to use - it could have been written that badly in any language/development system. I've lost count of the number of times I have drawn dialogs with these wonderful RAD tools at our disposal, which involves adding/removing controls as the design process continues, only to forget that you have to redo the tab ordering once you've done or it works badly.

So, the point of Zeepe/UXP is to fill in some of the gaps in the IE native control set (menu bars, perhaps TreeView) and provide a neat and clean breadboard into which you can plug your components (the source is upto you; xml, .htc, .java, .dll, .net) and wire in a simple fashion. You get all the advantages of HTML based applications (auto code install/update, anywhere availabilty, rich novel UIs, security if you want) and none of the drawbacks of .NET - sandbox that can't be got out of, complex coding once you get beyond the point and click design process, complex coding to ensure users get the latest code versions.

#    Comments [0] |

The Semantic Web

Funny how things first seen two years ago slowly gain momentum and visibility - lots of people seem to be mentioning the Semantic Web:

The Semantic Web: 1-2-3. Morbus Iff has posted a great introduction to RDF and the semantic web. If you have been trying to wrap your head around it like I have then this is the "jumping off" point I have been looking for. He also includes some great pictures. [Bitworking]

#    Comments [0] |

Interesting XML Editing.

First Xopus open source release online.

My colleague at Q42 who runs the Xopus project put a stable release online last friday. There's even some good documentation in the package! You can start making your XML/XSL based website editable in the browser right now. Remember, it runs both in IE and Mozilla.

[Sjoerd Visscher's weblog]
#    Comments [0] |