Archives

Archives / 2004 / March
  • Suggestion for Whidbey: Page declaration or config-level redirect property for mobile devices

    I'm not sure if this is factored into the Whidbey beta feature set already, but keeping with the goal of reducing the total amount of programming code, I think a worthwhile addition would be a property that could be set at the Page declaration level or in a configuration file that would set a URL to redirect requests in the case a page contained content for mobile devices.

    For example, the following construct is used all the time as a means of redirecting requests from desktop browsers to mobile pages:

    if(Request.Browser[“IsMobileDevice”] == “true“)
    {
             // load mobile content
    }
    else
    {
              Response.Redirect(“http://www.mydesktopsite.com“);
    }

    Perhaps something like this:
    <% @Page Language=“C#” RedirectUrlIfNotMobileDevice=“http://www.mydesktopsite.com” %>

    or, in web.config:
    <mobileDevices RedirectNonMobileDevices=“http://www.mydesktopsite.com“/>

    What do you think?

    Read more...

  • Music hath soothed the savage developer

    I've been a musician since I was 5 years old, playing guitar, piano and drums (I turn 30 (YIKES!) next month).  I've learned that in software development, as in life, music helps to calm the soul.  Some old friends - Def Leppard - came through for me yet again this morning.

    Working up against an insurmountable deadline with big-time money on the line, I was getting nowhere, running circles on a mobile app with ASP.NET.  So, I spun my “Pyromania” CD.  The band has saved my butt before, and didn't disppoint this time.  I don't really believe in superstition, but this is something that worked before, so I might as well stick with it.  Productivity increased by 500% and I flew through the inevitable debugging process.  By the time I got to “Rock of Ages“ I was nearly finished.  (For the record, I've had similar success with power ballads and classical music.)

    My guess is that because the songs were familiar to me, they took my mind off programming completely directing focus on the problems I was having.  And indirectly the rhythm of the music paced my keyboard-laden labors, creating a “developer's metronome“, if you will.

    Perhaps  when you don't have complete, total, undisturbed focus on something it helps one's workflow.  It makes sense - step away from the forest a bit to see the trees.  It's strange it worked out this way, because in college I was just the opposite.  I wouldn't study until late at night so as not to be bothered by anyone or anything and have total concentration.

    But...I have noticed that there's one genre of music I just can't code to - techno.  Something about the repetitive nature of house, rave or techno music for some strange reason just throws me off and actually promotes more mistakes.  However, I work with creative people who swear by it. 

    Oh well, to each his own.  Long live metal!

    How about you...does music help you write better/faster/cleaner/more efficient code or work better in other ways?  If so, what genre(s)?

    Read more...

  • ESPN Dream Job - now we're talking reality TV

    I commented awhile back about my fascination with, if not an endorsement of, reality television.  I don't watch any of the programs - except for one - ESPN's Dream Job.  I'm a freakin' addict....mainly because in addition to being a web development lead, I'm a sports anchor, too.  And trust me, I've been anchoring comical segments, hard news and sports for years, and of the three, sports is definetly the hardest.

    The show is run really well, and although it started out way too corny, with too many guns blazing and segments that seemed a little too scripted (i.e., the phone call from a producer in the case of a tie), the producers evidently toned down the format and had Stuart Scott (a true genius of the TV biz) mellow out a tad. 

    And at the time I'm composing this rant, we're sadly approaching the last of Dream Job's six episodes of non-stop pressure.  In each of the show’s 6 weeks, the contestants are faced with yet another daunting skill of anchoring, such as live anchoring, co-anchoring (both with a partner of their choosing and with someone assigned to them), general sports knowledge, interviewing skills and ability to put a story together.  So, it's telling “our” story - that doing this kind of stuff for a living is a lot harder than just coming up with fancy catch phrases, calling highlights, praising the Lakers and lamenting the Red Sox.

    The one thing that gets me about the mental and emotional wringer that the panel of judges put these pour souls through on live television is the hypocrisy.  As someone who evaluates broadcast media talent myself, it drives me nuts when the candidates are ripped for making a gimmicky comment, quirky gesture, out of context reference or minor mispronunciation of someone’s name, when the real-life SportsCenter anchors do it all the time.  And so do I.  And so do the rest of us in the business.  You can’t fault the contestants for trying – they’re just trying to conform to ESPN’s model of success and emulating what they ultimately want to become.  In this regard, they're already in.

    The four people left are solid all-around anchors, and I'm truly bummed to think three of them will be going home, and that I can't watch them after next week.  So from my professional viewpoint, here's what I like about the remaining candidates:

    • Aaron Levine - this kid was born to anchor sports.  He's got the people skills, camera presence, broadcast-perfect voice, interviewing skills and sports chops to get it done.  He’s razor sharp when put in tough situations, and is a total pro 100% of the time.
    • Maggie Haskins - without a doubt, the best writer of the bunch by far.  And the rest are really, really good.  Phenomenally gifted with a pen, with stats and with visual storytelling, although her exuberance rubs some people the wrong way (not me).   Maggie also displays the best body language when reporting out in the field, namely her head movement and hand gestures.  She's a bit rapid, a bit jerky in her movement on the sportsdesk, but that can be refined.  Otherwise, really well done.
    • Mike Hall – Aaron’s twin, skill-wise.  Probably the best all-around guy of the bunch, M.H. is a great interviewer, writes great leads, transitions between stories well, is comfortable on the newsdesk, has cool catch phrases, has a great sense of humor, and reads copy really well.  I can see Mike transitioning gracefully from an up-tempo highlight to a serious story like a death or arrest.  And take it from me – that’s NOT easy.
    • Zachariah Selwyn - the man.  And my mom's favorite for being the guy with the long hair (she's also a fan of the show).  Zack's got the think-on-your-feet wit, writing style and people skills that make him a fan favorite.  He genuinely knows his stuff and will have the widest library of catch phrases and witticisms of ANY SportsCenter anchor if he makes it.  He also brings the intangible advantage of being able to banter to the table, which is a hell of a lot harder than you might think. His anchoring posture is a bit rough...folding one’s arms into your chest gives off the impression of insecurity, which Zack is definitely not.  But that’s easily correctable.

    So good luck all!  If it were up to me, I’d say take ‘em all and let them rotate.  Heck, let them run ESPN2 all by themselves.  None is clearly better than any of the others in terms of all-around skill, but they’re all terrific.  But tragically, it's the nature of the broadcast media industry (especially for TV) that you're only as good as your last newscast, so whomever pulls off the most mistake-free performance will be the lucky one.  Man, this weekend is going to be rough.

    And I’m just a spectator.

    Read more...

  • So nice of VSLive to get Rob Howard's name wrong

    “See, a funny thing happened when we were putting the press kit together...”

    While clicking through the 19 links it took from the FTPOnline site to Bill Gates' speech at VSLive! (BTW, thanks UI designers...my wrist really enjoyed that), I noticed that at the bottom of the video stream page, it mentioned that one of the presenters in the forthcoming days for the “Building ASP.NET Web Applications“ talk would be Ron Howard of Microsoft“.   

    Now I may be wrong, but the accompanying graphic looks like good ol' Rob, the guru of ASP.NET caching (and one would assume that it would be).

    Maybe the event planners did this deliberately to sell more tickets for the talk?  Attendees will think the speech will be presented by the Academy Award-winning director!   Imagine that...Opie/Richie Cunningham will tell you about working with the Cache API!  Ha!

    Hey, I'm not ragging on VSLive.  I'm in the media biz, too, and I appreciate all they do for the community.  And Lord knows I've made mistakes that were exponentially worse, but thought this was funny.  (Just to prove my point, I once said on live TV that a person with the last name “Bordallo” was “Bordello” by mistake, which the person and their family sure didn't appreciate).

    Read more...

  • My Resume - Jason Salas

    Jason A. Salas
    148 Apaka St., Yigo, Guam 96929
    Phone: (671) 888-2482 | E-mail:
    jason@kuam.com

    OBJECTIVE
    To achieve a responsible, challenging and equally rewarding position in marketing and product development with Microsoft Corporation.  I want to play a key part in evangelizing next-gen technology products that promote innovative use of the World Wide Web, and really make a positive impact on people’s lives.

    EXPERIENCE
    February 2000-Present  - Web Development Manager
    PACIFIC TELESTATIONS, INC.  (dba, “KUAM”) DEDEDO, GUAM
     - Development lead & department head for Guam’s largest broadcast media station (
    www.kuam.com).  Primarily responsible for developing and maintaining custom Web applications for Guam’s most-visited Web site (48,000 pages, 2.3 million page impressions per week).
     - Oversee conceptualization, architecture, development, QA, deployment and maintenance of Web applications; translating the stated desires of the company into marketable, revenue-generating technical products.
     - Developed several dynamic Web-based apps on a variety of platforms and technologies, including, but not limited to, ASP 3.0, ASP.NET, ADO.NET, SQL Server, XML/XSLT, XML web services, WAP and SMS:
      - Migration of site architecture from COM-based ASP 3.0 back-end to full .NET-enabled n-tier architecture
      - Administrative online publishing suite, using ADO.NET, ASP.NET and BizTalk Server
      - Datapush service bridging real-time results of Election Night coverage for TV/radio broadcasts and multi-platform publishing
      - WAP/WML version of site
      - Live streaming audio for radio broadcasts, archived/live streaming video of nightly newscasts & special productions
      - XML Web services library
      - RSS feed
      - Custom translation engine to support content in Chamorro and Tagalog (non-ISO languages)
      - Integration programming with vendor-shipped newsroom management system
      - Collaborate with affiliate content projects to network news sources (i.e., MSNBC.com)
      - Engineered custom server controls for public download & internal use
      - Developed site-wide “Keyword Search” service – intra-site search utility combining Google API, news database queries and intra-site exhibit lookups
     - Manage integrated revenue opportunities through packaged advertising, content sharing, and custom online promotions development.  Serve as product champion and technical evangelist for online sales presentations.

    February 2000-Present - News Anchor / Sports Producer / Television personality
    PACIFIC TELESTATIONS, INC.  (dba, “KUAM”) DEDEDO, GUAM
     - Lead tech beat journalist for columns, tutorials, and topical articles profiling local technology and the Internet subculture.
     - Host “Tech Talk with Jason Salas”, a whimsical weekly TV technology and business review segment.
     - Produce and anchor nightly 10PM newscasts, co-anchor flagship 6PM primetime newscast. 
     - Produce nightly local and national sports show, anchor sportscast during newscasts. 
     - Serve as fill-in reporter for various news beats (government, environment, education, et al.).
     - Develop concept and format for and host high-energy weekly sportstalk radio program.

    February 1997-February 2000 - Marketing & Business Development - Internet Services Division
     ISLAND TELECOMMUNICATIONS & ENGINEERING   TAMUNING, GUAM        
     - Performed sales, marketing, R&D, web development, and general planning for Guam’s largest Internet service provider.
     - Focused on new product development, corporate intrapreneurship and process innovation.
     - Developed comprehensive business plans for new products/services developed with Web R&D group.
     - Published miscellaneous marketing analysis, financial, technical, strategic, and R&D reports.
     - Participated in the development and management of the IT&E corporate Web site (
    WWW.ITE.NET), IT&E Wireless Web site (WWW.ITEPCS.NET), internal Web apps, and external sites designed for business  clients.
     - Conducted extra-departmental training seminars on ISP procedures, products and services.
     - Conducted multimedia presentations evangelizing the use of the Internet to a variety of audiences.

    May 1996-February 1997 -  Account Manager
    COMPUTERLAND OF GUAM    MAITE, GUAM
     - Sold computer hardware, software, and peripheral items to business, government, military, educational and public market segments.
     - Provided technical assistance and troubleshooting for Macintosh and Windows operating systems, hardware and software.
     - Designed creative artwork for store point-of-purchase demonstration displays.

    March 1995-August 1995 -  Marketing Analyst (Undergraduate Internship)
    SPRINT      TAMUNING, GUAM
     - Published executive summaries for major projects dealing with marketing, public relations and promotions departments.
     - Analyzed incoming solicitation and corporate sponsorship requests.
     - Published daily statistical analysis of compiled customer usage of Sprint long-distance calling services.
     - Part of beta-testing team for SprintNet Internet access services.

     
    EDUCATION / CERTIFICATION
    MICROSOFT CORPORATION       REDMOND, WASHINGTON
    (2001)  Microsoft Certified Professional (MCP) credential (MCP ID# 2247034)

    UNIVERSITY OF PHOENIX       PHOENIX, ARIZONA
    (1998-2001) Master's of Business Administration (MBA) in Technology Management
      
    THE JIM SUTTON INSTITUTE OF MUSIC     SPRING, TEXAS
    (1996)  Certificate in Music Theory

    UNIVERSITY OF GUAM       MANGILAO, GUAM
    (1992-1996)  Bachelor’s of Business Administration (BBA) in Marketing

    SIMON A. SANCHEZ HIGH SCHOOL      YIGO, GUAM
    (1988-1992)  High School Diploma
     

    SKILLS
        Programming languages, applications, and developmental environments:   

    • HTML / CSS / DHTML
    • XML / XSLT
    • Active Server Pages 3.0 
    • ASP.NET 1.x / ASP.NET 2.0
    • ADO.NET
    • GDI+
    • C#
    • SOAP
    • XML Web services
    • Visual Studio .NET 2003 / Whidbey IDE
    • ASP.NET Web Matrix
    • VBScript 5.5
    • Visual Basic .NET
    • Macromedia Flash 
    • Adobe Photoshop
    • Microsoft SQL Server / T-SQL
    • Streaming media development
    • Wireless application development – WAP / WML 

    Experience in the following areas of information technology:

    •   n-tier Web applications development
    • Object-oriented programming/ object-oriented design
    • UML, Use Case scenarios, data modeling
    • Relational database administration
    • Project management
    • Graphic design, imaging formats & applications
    • Technical training
    • Technical writing / documentation
    • Consulting & business solutions development 

    MEMBERSHIP / ASSOCIATION
    Microsoft MVP, ASP.NET
       Member of Microsoft-selected community recognized for outstanding product knowledge and community involvement.

    International .NET Association (INETA)
       Member of INETA Marketing Committee, focusing on activities to solicit sponsorship opportunities and broaden awareness through public relations activities about INETA.

    ASP.NET User Group of Guam      
    President
       Founder and president of local collection of IT professionals focusing on the shared learning & collaborative development of web solutions with Microsoft .NET.
       Developed the first (2) sites on Guam to be based on .NET technology – GUAM-ASP.NET and GUAMELECTION.COM

    Guam Community College        
    Curriculum Development Committee Chair – Multimedia Lab (Web Technology)  
        Oversee development of Web training curriculum for local vocational technology and continuing education institution.
        Serve as adjunct instructor and guest lecturer for Web design, online product development, applications development, technology profiling, and Web marketing course topics.

    Micronesian Society of Professional Journalists    
    Committee Chairman – Online Journalism     
       Key organizer for Committee studying the practice, ethics, morals, and timeliness of online journalism.


    PUBLISHED WORKS
    Wiley & Sons          MARCH 2004
       Co-authoring forthcoming book “Professional ASP.NET 2.0”

    Microsoft Developer Network (MSDN)      MARCH 2004
       “Manage detail pages across multiple platforms with centralized data caching”: (awaiting publication)

    4GuysFromRolla.com         FEBRUARY 2004
       “Globalizing ASP.NET Applications with Non-Standard Languages”:
    http://aspnet.4guysfromrolla.com/articles/030304-1.aspx

    KUAM.COM          APRIL 2003
       “Control Freak: Developing a Custom Slideshow”:
    http://www.kuam.com/techtalk/slideshowcustomservercontrol.htm
       “Tap the market and add a NASDAQ stock ticker”:
    http://www.kuam.com/techtalk/nasdaqcompositecustomservercontrol.htm

    ASP101.COM          OCTOBER 2001  
       “Building a low-budget Web service with Classic ASP":
    http://www.asp101.com/articles/jasons/aspwebservice/default.asp

    Fawcette Technical Publications (.NET Magazine)    JANUARY 2002 -present
       “Accelerating Electronic Payment Processing”:
    http://www.fawcette.com/dotnetmag/2002_05/magazine/columns/casestudies/concord
       “.NET Web Service Connects Educators”
    http://www.fawcette.com/dotnetmag/2002_04/magazine/columns/casestudies/jsalas/

    Wrox Press           AUGUST 2001
       “A Simple Document Generation System Using ASP and XML”: 
    http://www.kuam.com/techtalk/docgensystem-aspxml.htm

    Hungry Minds, Inc. (formerly IDG Books)   (Publishing cancelled due to production delays) 
       “Microsoft .NET MyServices Bible” (served as technical editor)

     
    REFERENCES
    Matthew E. Limtiaco – System Applications Consultant
    NETEGRITY, INC.
    Phone: (781) 890-1700
    E-mail:
    matthew@limtiaco.com

    Janet L. Marriott-Hensley, M.B.A. – Director of Technical Services
    LIFE BANK
    Phone: (909) 637-4000
    E-mail:
    jlhensley@earthlink.net

    Marie Calvo-Monge – Executive Producer & Assistant General Manager
    PACIFIC TELESTATIONS, INC. (dba, “KUAM”)
    Phone: (671) 635-5849
    Fax: (671) 637-9870
    E-mail:
    mcalvo@kuam.com  

    Maxime-Patrice Palisson, Ph.D., MCSE, MCP+I, CCNA – Director of Teleradiology & Information Technology
    GUAM MEMORIAL HOSPITAL
    Phone: (671) 727-9330
    E-mail:
    max@plexusguam.com

    Elise Peterson – Public Relations Manager
    WAGGENER-EDSTROM
    E-mail:
    elise_peterson@yahoo.com

    Nerissa Pilcher – Director of Technology
    CONTINENTAL AIRLINES
    Phone: (671) 642-8732
    E-mail:
    Rissa.Pilcher@coair.com

    Sabrina Salas – News Director
    PACIFIC TELESTATIONS, INC. (dba, “KUAM”)
    Phone: (671) 635-5812
    Fax: (671) 637-9865
    E-mail:
    sabrina@kuam.com

    Will Ymesei – Information Systems Manager
    ALUPANG BEACH CLUB
    Phone: (671) 646-1940
    E-mail:
    will@abcguam.com

    Read more...

  • Great blog on Microsoft marketing & recruiting

    A fantastic new blog belonging to Heather Hamilton, a senior marketing scout for Microsoft, gives great insight on what the company looks for in marketing people and the various groups and functional roles marketing plays.   Heather gives all sorts of interesting thoughts on technical marketing, how to structure a resume, and other neat topics.  Definitely bookmark-worthy stuff.

    Apparently, the company in late 2003 put together a group to go out and find talented technical marketers - those brilliant people who bridge business model savvy with sound technical acumen (or, as I like to refer to them “the chosen few”).  Jealousy isn't very becoming, is it?

    I tell you, I nearly electrocuted myself as I salivated all over my keyboard when reading some of the job descriptions, especially for technical evangelists.  That is so me.  :)

    Read more...

  • Welcome back some old friends - "Microsoft.com Backstage" and ASPToday

    An incredibly appropriate quote for how I'm feeling at the moment is the popular mantra of the International Reading Association: Reading is fundamental”Julia Lerman made a cute comment about my love for reading anything and everything ASP.NET awhile ago, which I totally got a kick out of.  Thanks Jules!

    On that note, I was pleased to see today the return of some great ASP.NET content to public consumption.  First, the official re-launch of ASPToday is good to see (good job, Simon Robinson) with some great articles already posted, with contributions from ASP.NET developer emeritus Alex Homer forthcoming.  Also, I was stoked to check out the latest Microsoft.com BackStage column, talking about the re-design of TechNet Online.  I've always gotten a hoot out of this column.  More large sites should take this approach.

    These posts also come on the heels of the return of the much-overdue return of Nothin' But ASP.NET, featuring Rob Howard's awesome discussion of Whidbey’s provider design pattern. 

    Lastly, on a shamelessly self-promotional note, I've also written an article for MSDN on ASP.NET caching for detail pages across multiple platforms, which is waiting its turn in the publication cycle...look for it soon!  

    Read more...

  • An equal-opportunity employer (as long as you went to Harvard, MIT or Stanford)

    I've applied recently to work at a certain company (who shall remain nameless as to preserve the chance that I might actually work there someday), whose hiring practices are well-documented, and who admittedly favors certain schools for their rich history of producing those with a high level of technical savvy and overall academic acumen.  I'll also admit that I'm tragically not one of those people – for both my bachelor’s and master’s degrees, I did what I could with the money I had at the time (which wasn't much on both occasions). 

    As an undergrad, I went to a small school, that...how shall I say....isn't known for producing Nobel prize-winning scholars.  :)

    In going through the company's HR pages, one of the form fields was, naturally, “Education”.  A drop-down menu preceded the normal textbox used to type in my schools, which conveniently listed all of the select colleges, universities and tech schools that typically produce the caliber of person they're looking for – the usual Ivy League suspects, the U of Texas @ Austin, CalTech, Boston University, et al. 

    And then, of course, was my little afterthought form field where I was forced to manually type “University of Guam”.   Go Tritons!

    I'm not condemning companies that use this approach, nor am I ragging on their HR policies/practices (Microsoft uses a similar strategy as I’ve seen); I think it gives the company distinction and gives one something to aspire towards.  But at the same time, it's a harrowing reminder of reality and the way the world works. 

    If I could do it all over again, would I change anything?  Nope.  If I was ashamed of my degrees and from whence they came, it would defeat the whole point of being educated.  And while I didn't get one degree from some big school that coincidentally three U.S. presidents call their alma mater, I picked up several pieces of paper from smaller schools and am better because of it.  I’m damn proud to have taken business classes just 500 meters away from what’s widely thought to be the world’s foremost research center for marine biology.

    So for me, I’m happy.  The worst thing you can walk around with in life is hypocrisy or regret, and fortunately I have neither.  As for my yet-to-be-conceived kids, that’s a different story.  My daughter’s going to Yale, with my son at West PointJ

    Read more...

  • Awesome ASP.NET V2 tip: specifying the assembly name in web.config for custom HttpModules/HttpHandlers in Whidbey's /Code directory

    Of all the new enhancements in the Whidbey IDE, my favorite feature by far is the /CODE directory, which provides automatic compilation for any .CS, .VB, WSDL or XSD files lying within it.  This is exponentially helpful for rapid development and a brilliant addition to the product.

    One thing I mulled over this morning was how a developer can reference the assembly name in a configuration file for custom HttpModules or HttpHandlers, when an underlying class file is stored in /CODE.  The CLR ultimately compiles all files contained within /CODE into a single assembly - but how does one know what that name is at design-time? 

    The answer: use “Code”

    Consider the following web.config snippet, citing the format for declaring an HttpModule:

    <httpModules>
           <add name="ModuleName" type="Namespace.Class,AssemblyName" />
    </httpModules>

    In place of the "AssemblyName" attribute value, I tried the name of the .CS file containing the class (with and without the file extension), the class name itself, removing the argument altogether, using “this”, “.”, and using the exact same value for the both Name and for both arguments of the Type attribute - none of which worked.   I couldn't suss it out, until Scott Guthrie was good enough to point out that at least for the alpha bits, we are to use “Code” as the value for the Assembly name argument:

    <httpModules>
           <add name="CustomAuthentication" type="SecurityModules.CustomAuth,Code" />
    </httpModules>

    Now, this introduces a new concern - how about naming conflicts for legacy web applications that already have an assembly resident in the \BIN directory, named “Code”?  I tried it out, copying over a proxy class .DLL for hitting the Google web service, and renamed it “Code.dll”.  An HttpModule I'd written still worked perfectly, not conflicting.  I also authored a quick .CS file, compiled it to a .DLL from scratch and saved it to \BIN...the HttpModule continued to work.  This is unbelievably cool.

    Tragically, there's very little documentation (if any) about this, so I hope this spawns some.  Maybe this was announced en masse at PDC…one more reason I should have gone.  L

    Read more...

  • The Whidbey Page-Naming Conundrum: Master pages vs. "master" pages

    One of the coolest features I like about Whidbey is Master pages, and the feature is aptly named...pretty good marketing.  However, it wasn't until I wrote an article for MSDN recently that I realized that the ad hoc title for ASP.NET 1.x master pages, as in “master/detail pages”, has essentially been cannibalized by the new formal name.  It makes sense...the first people who started informally labeling those pages master pages were early book writers, and it just stuck and spread through the community.

    Anyone have any idea what we'll be calling such pages with links that allow one to drill down to more information in the V2 world?  Here are some suggestions:

    • Host pages
    • Main pages
    • DetailMasters
    • ContentKings
    • List pages

    Care to come up with any more?

    Read more...

  • Proof positive: IIS 6.0 HTTP Compression works

    A few weeks back, Donny Mack of DotNetJunkies.com wrote an intriguing tutorial on enabling HTTP Compression in IIS 6.0.  My company's web host, ORCSWeb, just did this for its shared server customers, and I won't say the performance difference is like night-and-day, but it does serve content markedly faster....some 72% by my estimates.

    If you run ASP.NET on a server you control, read Donny's article and give this serious consideration.  It's worth it, and it's the real deal.

    The HTTP compression, coupled with server-side caching, will literally blow your socks off for your web apps.

     

    Read more...

  • Anonymous personalization in V2 Web Parts (or lack thereof)

    My favorite feature of ASP.NET V2 by far is Web Parts.  I’ve spent the majority of my development time working with Whidbey’s Portal Framework features, and I’ve sent lots of notes and suggestions to that team’s members about what I think, and I never tire of messing with it.  Being responsible for running a mid-market news-oriented site, I nearly short my keyboard out after salivating all over it when thinking about the personalization capabilities I’ll be able to add. 

     

    However, I’ve taken a bumpy ride in getting the final word down on anonymous personalization - specifically, if it’ll still be around as we move along in the product’s lifecycle.  My initial intent, as per the stated shipped functionality of the early alpha bits, was to create a customizable portal, wherein users could reposition and/or turn off content sections of our homepage, to customize it to their preferences. 

     

    Because our site’s been around for 4 years, I didn’t want to mandate membership for this feature to work, basing the configuration of the page on anonymous personalization as (1) I felt the former would be too tedious/too dramatic a shift for our users, and (2) past marketing activities indicate that mentioning the word “membership”, no matter how slyly worded, scare our users off, thinking they’ll be charged for reading our news articles and cost us traffic and revenue.  It would be too hard a pill to swallow for our customers, despite being so trivial – and free.  Besides, if I could do it without membership and essentially achieve the same result, why not?  I think it would be a nice gimmick to offer to visitors, which would really catch on immediately, and then be used in normal daily operations by (an estimated) 35% of the people who visit our site.

     

    I first thought it would be possible to use a persistent cookie to retain non-default WebPart positioning within a page, using anonymous personalization and the Profile object in web.config.  But after much trial and tribulation, I found out it wouldn’t work.  Also, certain properties within the Portal Framework API relative to positioning of a WebPart on a WebForm are, at the moment, private or otherwise sealed off from public access, so rolling a custom solution is impossible, if not extremely difficult.

     

    After much dialoguing with the ASP.NET team, it was made clear that anonymous personalization, in contrast to the feature being an enabled part of the pre-PDC/PDC alpha bits, would likely not be part of the beta and subsequent final RTM versions.  Fair enough.  After a weekend of resting on the subject, the emotional attachment that I’d built up for my optimal architecture waned a bit, and I saw things more clearly. 

     

    It would, for lack of a more appropriate term, be a major bitch to track, maintain and manage non-membership settings without a repository in which to store such data.  But now I’ve come across a new issue – that Web Parts, if used without membership, may not work at all.

     

    My latest rant about Web Parts came after I authored an as-of-yet unpublished tutorial, demonstrating how to use Web Parts to build a cool, rich UI for a sports contest (http://www.guam-asp.net/webpartsarticle/index.mht), showing how the feature is more multi-dimensional than just for building portal front-ends.  Now apparently, it’s been implied that we won’t be able to do this (http://www.asp.net/Forums/ShowPost.aspx?tabindex=1&PostID=483409), bunking the whole point of my article.  Evidently, the plan for the future is to not allow non-membership users to be able to manipulate pages that have WebPartZone(s) & data.

     

    As per a discussion I had with an ASP.NET team member, he was good enough to clarify: “The anonymous user cannot save personalization data, nor do any operation that would cause personalization data to be saved (add a WebPart, delete a WebPart, move a WebPart, etc.)…The anonymous user will not be able to move the WebParts on the page…in the Beta and going forward, personalization will only work for logged-in users, so design your page with this in mind.”

     

    I realize that we’re at the moment still in alpha and therefore subject to much change, and hopefully progressively so.  I’ve even tried taking a step back to think about maybe it’s me that’s wrong – that perhaps I’m too excited about the feature and that I confused myself by over-hyping it.  But, I’ve managed to find a few sparse people that share my disdain, hoping for anonymous personalization of some sort.  At any rate, I think unequivocally requiring membership to use Web Parts in a scenario, not being able to do so anonymously, is a let down.  I’ve talked to a lot of people about why this is, and although I’ve never gotten the same answer twice, the end result is consistent.

     

    I guess what I’m after is a definitive answer: is anonymous personalization going to be completely out of the picture, such that membership-based systems are mandated if we are to get Web Parts to work at all? 

     

    Thanks for listening!

    Read more...