Jason Salas' WebLog

On-air and online: making people laugh, making people think, pissing people off


ASP.NET sites that kick ass

Pals with blogs

Podcasts I listen to

February 2004 - Posts

Hip hip hooray…Guam’s first WAP gateway coming soon…

I just got word that one of Guam’s telecomm firms is going to jump into the WAP market, and the first-ever WAP gateway is coming soon.


They’ve asked my company to be a content provider, which I’m stoked about, seeing as how we’ve been hounding them with the very idea for the past 4 years.  I've also got an entire library of MMIT code and XML Web services just for wireless apps, so it's going to be a thrill to finally port them for production.


I’ve been running a “wireless” portion of our site for about 3 years, which uses the AvantGo subscription-based service to get content on PDAs and such.


Good things on the way…

You know what would be cool? A .NET-centric programmer's keyboard

I just had a thought...you know what would be really kick ass?   If someone out there could develop a keyboard that was totally .NET-centric.  I mean, it's layout of the alphabetic characters would still conform to the current widely-used convention, but it would have other keys to do things like import namespaces, comment blocks of code, automatically write out ToString(), generate class templates, run batched compilation statements, perform certain Visual Studio .NET functions, and other customizable stuff.

I don't go all the way back to COBOL or those days, although I did start out in BASIC on an Apple IIe in '84, but i do know that people from the assembly language days used a keyboard different from the QWERTY variety that we use today.

The question is - would anyone really use such a thing?  I'd certainly give it a whirl...

Posted: Feb 23 2004, 05:52 PM by guam-aspdev | with 5 comment(s)
Filed under:
Error message in C# 2.0 Generics a little too generic

I just found something interesting...I get the following error when I naively tried to instantiate a generic object without importing the System.Collections.Generic namespace using the following code:


"CS0122: 'System.Collections.List' is inaccessible due to its protection level"


MyGenericClass teams = new MyGenericClass();    // create a new instance of a generic class

List<Team> choices = teams.someMethod();        // execute a method


This threw me at first until I declared the namespace in my code using the "Import" directive.  I think this error code should be reworked, as I would have expected (and it would have made debugging a little easier) if I was presented with the "Are you missing a using directive or an assembly reference?" message.


I can understand how the "List" type trying to be used isn't properly referenced in my above code sample, but the error code I'm being presented with, saying it’s a protection level thing threw me totally at first.

Shippable/portable .NET runtime?

This may be an easy question to answer, it may not...but I don’t immediately know the answer. 

I’ve been oh-so-forcefully tasked to be on a project committee to develop a content management portal for an interactive DVD my station’s putting out for promotional purposes.  My role in the project is to develop a web service that will “call home” on a scheduled basis and check for any new updates to read-only content (mainly TV listings, promotional announcements, special offers, etc.). 

I’ve been thinking about including some additional features on the DVD, but unfortunately to be completely automated, they’d need to run ASP.NET scripts, which of course, would require .NET and a web server of some sort (IIS or Cassini).  Is there a way to ship a product on portable media without including the entire CLR or the .NET Framework?  If it’s a miniaturized or minor version of the CLR, that’s fine...kind of how PowerPoint uses its “Pack and Go...” feature, where you can run a slideshow on PC without having the actual program installed.

I can always downscale and just do static .HTML pages, but it’s going to force me to dedicate time to updating in the future, which I’d rather not do.

Maybe if this isn’t possible, it’s something the design team could consider for a future release (If it’s even possible/feasible)?

Using WebParts to develop sports contests

One thing I love doing as a sports journalist and web developer is creating demo apps based on sports.  In my opinion, one of the coolest and most logical achievements of web development was when ESPN.com circa 1998 put together a web-based contest, in which users would be presented with a straight-down listing of the top 25 college football teams in the nation, and be asked to rearrange them in the order in which the user thought the teams would finish the season and then submit their ballot in the hopes of some sweet prize. 

As one would expect, correct ballots would be archived, with the winner assumedly selected at random.

I've been messing with the pre-PDC Whidbey alpha bits to make this work for ASP.NET, using WebParts.  ESPN’s implementation, based on Java, did everything on the client, which made for a nice drag-and-drop interface, albeit taking nine years to initially load.

The concept for developing such as service in ASP.NET 2.0 is really simple, as membership isn’t explicitly required (changes don’t need to be tracked over time, which provides the opportunity for people to enter multiple times):

  1. Display a WebPartManager with 25 WebPartZones, listed vertically, each containing a team name, listed in no particular order
  2. Set “WebPartDisplayMode.Design” as the mode for the WebPartManager have the user resort by dragging-and-dropping the teams in their preferred order, re-indexing them each step of the way
  3. Set “WebPartDisplayMode.Normal” and submit the finalized order, citing the index position of each WebPart in the WebParts collection 

The documentation and gossip on the grapevine at this point don't seem to denounce an excessive use of WebParts within a single page, but even though in this example contains only static text for each team, would that be overkill or negatively affect the page?  One can safely assume that too many WebPart objects (or any type of control, for that matter) would have some sort of compounding impact on performance.

More to come, including implementation code…


The next evolution: migrating from WebForm-based to document-level content publishing

One of the seminal scenes from the 2002 movie “Minority Report” that really stuck with me is when Colin Farrell enlightens Tom Cruise of the fact that every system’s flaw is its level of human interaction.  I’ve kept this in mind as a constant corollary in my own development work, in eliminating as much manual labor as possible to achieve greater results.

I've got a printed PowerPoint slide above my desk that has a bulleted list of the major development projects I’m going to accomplish this year for company’s site.  Some of the more interesting are:

It’s this last objective that’s got me working these days.  One of the big challenges I'm dealing with going into the rest of the year is knowing that running web operations at my station is pretty intense now...and it's only going to get worse.  We're going to be doing a whole lot more than we’re doing now before December, and we likely won't be bringing on anyone to additional to help out, and we definitely can't afford to outsource.  So, keeping the management of our flagship product - our news content - at a high level of quality while freeing ourselves up to work on other things is a key goal for me.

My theory is to migrate away from using WebForms as a means of entering data into our main news management system, and control the publishing of content publishing at the document level.  I'm not forsaking my web developer roots...just adding on some branches to help us work more efficiently.

It's funny...in moving forward, we're actually taking a step back - and simplifying a problem by making its solution complex.

Here's the issue: for years, we've been using disparate systems to manage our online news, and being in a mid-market, we don't have the inbound revenue to justify making a major buy or to partner up for the development of an ERP.  So, we've had to manually port content between a third-party newsroom management system and a web-based content manager I built, the latter of which is based on ASP.NET.  This typically requires manual copying-and-pasting of story content contained in RTF documents into a WebForm, which are then posted to our back-end and published for public consumption.

As news articles are fairly standard animals and inherently read-only (as opposed to a shopping cart or order form), the business rules are pretty simple: predictable format, optional fields, simple validation, variable length.

The direction in which we're heading now eliminate the middleman, if you will, and puts the content in our database server straight from the documents themselves, using templates, XSLT and field mapping a la BizTalk.  Rather than C-&-P stories and submit forms repeatedly, we simply will upload a series of Word documents into a directory.  An ASP.NET process then reads all the story files within a directory, generates XML for each story and applies HTML formatting, which is inserted nicely into our database by way of a web service.

Nothing shocking, but unbelievable helpful for us as it doesn’t involve human input.

This has actually been a long-term goal of mine, starting several years back.  As my station is an NBC affiliate, we get to interact with MSNBC's development team in getting our content on their site.  As such, we use the publishing utilities they provide for affiliates, which are wonderful in their design and execution - very easy to use, and one-click publishing.  And MSNBC has been gracious enough in my conversations with them to provide a high-level overview of how they do what they do, using COM-based systems and heavily leaning into BizTalk.  It's been nice to see how the other guys do it, hence an earlier comment I made about the need for good, thorough ASP.NET case studies.

The trials and tribulations of being able to develop administrative tools more common to organizations of a much larger scale than us, coupled with a near-zero budget makes this a very interesting project.

Posted: Feb 19 2004, 10:30 AM by guam-aspdev | with no comments
Filed under:
New book review: "XML in Office 2003: Information Sharing with Desktop XML"

I just got through reading a new title on the XML capabilities of Office 2003 by Prentice-Hall, which I enjoyed:  http://weblogs.asp.net/jasonsalas/articles/75396.aspx

Posted: Feb 18 2004, 08:02 PM by guam-aspdev | with 1 comment(s)
Filed under:
Just got my first MSDN subscription

Wow.  I'm not one to typically be at a loss for words, but I'm nearly speechless at how much cool stuff there is in the MSDN subscription.  I quite simply don't know where to start.  (This is my first ever such subscription, so my joy is a bit amped). 

I've read numerous times what exactly is included with an MSDN subscription, but the kit I got in the mail delivered to my office today just blows me away.  I'm thinking of re-recording my voicemail greeting to something like, “This is Jas...I'm here at the moment, but going through my MSDN CDs, so leave me a message and I'll get back to you in 6-8 weeks.”

Lots of fun ahead!

Posted: Feb 18 2004, 01:58 PM by guam-aspdev | with 2 comment(s)
Filed under:
New York Yankees = the new Microsoft?

I've been racking my brain thinking and likewise have gotten much typing in over the last few days with the Alex Rodriguez trade to the New York Yankees.  As a sports journalist, this is the type of business transaction with such dramatic cultural impacts I live for and hope to see at least once in my career.

I'm quite sure that I'm not the first to coyly correlate the behavior and business savvy (albeit crass capitalism) of George Steinbrenner to Microsoft, so in saying so I won't claim to have penned a completely original thought.  However, it seems logical to assume that if one either shows great potential, had distinguished themselves beyond all their peers, or can effectively fill a gap, both organizations would want you on their squads.

It's been speculated heavily over the last 96 hours that if you're truly good at what you do, either organization will acquire you at some point and by some means. 

Not a bad way to make a buck...

Posted: Feb 18 2004, 01:53 PM by guam-aspdev | with no comments
Filed under:
My $0.02 on Yukon: we need a new Northwind/Pubs sample DB

I'll go ahead and concede my own ignorance here...I'm not an alpha tester for Yukon, so I'm not exactly in the loop about the goings-on of the latest database server craze.  However, having said that, I'd like to recommend a new sample database to play with besides Northwind and Pubs. 

I think this would make a nice and very logical extended touch to the platform and give developers something new to play with, and writers something new to demo.  They're both great and mainstays of Microsoft-centric development, but it's time for a change.  Or at least, a new addition to the family.

I cringe as I say this, but seeing the Northwind DB being used so many times over in countless books, articles and tutorials that - dare I say it - it's become as passe' as using “Hello World” as sample syntax for functions.  So what's my gripe with Northwind and/or Pubs?  Nothing major, really.  I'd just like a new toy to play with as an option.  I guess the following could be objectively said of MS' sample databases for SQL Server and Access:

Helpful?  Certainly. 
Easy to understand?  Extremely. 
Outdated?  Not at all.
Applicable to practical development?  For sure.
Overused by the development community?  Without doubt.

Posted: Feb 18 2004, 12:23 PM by guam-aspdev | with 7 comment(s)
Filed under:
More Posts Next page »