Zeroth Click Andrew Petro JA-SIG Atlanta, December 4, 2006 © Copyright Unicon, Inc., 2006. This work is the intellectual property of Unicon, Inc. Permission is granted for this material to be shared for non-commercial, educational purposes, provided that this copyright statement appears on the reproduced materials and notice is given that the copying is by permission of Unicon, Inc. To disseminate otherwise or to republish requires written permission from Unicon, Inc. You are missing out on • It’s the Enterprise, Dude • A Community Source Notification System • Integration of Version Control and Code Migration Processes This presentation • Ideas, hints, and patterns for high-value unauthenticated portal experiences. Meet your speaker • Andrew Petro • Previously with Yale University – Technology and Planning • Now at Unicon, Inc. – “Academus Development Lead” uPortal is really cool • Pluggable authN • Flexible attribute collection • Agile Groups • Nuanced permissions • Powerful layout capabilities • Adjectives dripping all over the place uPortal is really cool • Pluggable authN • Flexible attribute collection • Agile Groups • Nuanced permissions • Powerful layout capabilities • Adjectives dripping all over the place All this coolness requires AuthN • If only you would log in, all these wonderful things could follow • It’s a lot like Marley being dead to begin with. If only you would log in • We’d know who you are • We’d have attributes about you • We’d know what groups you’re in • We’d know what permissions you have • We could build your layout Rutgers baked this into a strategy • Keys to Portal Success: – Hire a vendor (no joke!) – Focus on the logged in user experience • Heroics to eliminate the guest user and replace with a static page Wow, this is a short presentation • In conclusion, for anything cool to happen, the users gotta login. • So, like, encourage them to do it. Questions? Andrew Petro apetro@unicon.net www.unicon.net Well • Maybe we can do something interesting with the guest page… Logging in is over rated Look ma, no login Why? Headlines Headlines Why? Events Events Full Disclosure • Not implemented as directly uP rendering • But it could have been • PHP integrations are not a bad thing Some coolness *doesn’t* require AuthN • Universities are brimming with public information, events, discoveries, announcements that are not secret No one wants a portal • Very few users have the goal of accessing the portal • They have the goal of getting heads up information, accessing services • Portal as tool to accomplish those goals • If you can solve that goal in fewer clicks or with less overhead, you probably should. • No bonus points for extra pain, after all. Gaining adoption and logins • High value services when logged in • Opportunity to put information in front of student eyeballs • Sometimes, even hold some coolness back Network Registration *Reducing* logins • Say what? • Control the load • Especially at the highest usage moments • Control the “burstyness” Guest user • What you get when you’re not logged in • Can still proxy and aggregate • Can still cache ICacheable • Cache keys can be – User scoped – System scoped Idea: special URLs for accessing the portal • Browser provides hint – Campus cluster computer homepage? – Different links depending on where you come from? Yale SAM Kiosks • Service and Maintenance employees Susan Bramhall is here • She did most of the work and can speak to implementation details • And how this has worked out over time • (And tell her to be in the JA-SIG “speed dating” rotation next conference so she can spread the word about this) Tricks to be had here • Genuinely multiple guest users • Re-use a regular user account with preferences locked down Considering the remote address • Hints as to on-campus, off-campus, where on campus • Like the special URL tricks? Remote address as parameter to remote feeds? Cookies • “Remember me on this computer”? Remember Me • Amazon.com approach • “Mostly logged in” – Think of it as weak authN – Until you do something sufficiently important – At which point you more strongly authenticate “Echo user” idea • User that gets my layout • Has some of my user attributes as cached • Is member of “presumed-Student” etc. groups • DLM degrades layout appropriately given degraded permissions An echo of a user CAS has some neat outcomes here • Portal cannot proxy an authentication you don’t have • So content that requires strong authentication to go get data from elsewhere – Fails gracefully? – Well, can fail gracefully – DLM dropping unauthorized content – CError extension Implementing • Well, remember that uPortal is really cool… uPortal is really cool • Pluggable authN • Flexible attribute collection • Agile Groups • Nuanced permissions • Powerful layout capabilities • Adjectives dripping all over the place Pluggable Authentication • So plug in AuthN that considers “rememberme” cookies or remote address or hint URLs. Pluggable attribute sources • So plug in sources that draw attributes from cache • And filter / merge strategies that appropriately filter the cache? Pluggable groups • So create some less-certain echo groups? Echo groups Everyone LikelyStudents Students Permissions can cope with this • Yes, this adds complexity • (More on that shortly) • But uPortal permissions *can* model this • How do you want the experience to degrade? – What am I allowed to see and do when I’m only weakly authenticated? Powerful layout capabilities • Degrade just-in-time appropriately • Control which layout portions you get when weakly authenticated Sobering thoughts • Don’t run out and implement this • It’s something to think about • Tradeoff of complexity / more nuanced user experience • But even if you don’t go implement these use cases – Demonstrates the power of the platform Making login less painful • Single Sign On – CAS – Others Bootstrapping a CAS login • CAS “gateway” parameter allows trying for a “freebie” CAS login *without* CAS interrupting flow with login screen Gateway • Tells CAS to redirect back without a ticket if one cannot be acquired non-interactively (e.g., via an established SSO session). • Allows you to provide the best user experience possible under the circumstances. Public Portal Authenticated Portal First request to the portal CASify all requests Login Screen But I just wanted the weather… Needlessly locking public information Effective use of Gateway 1) Authenticated, personalized content 2) Public, generic content 3) Login screen Many opportunities with uPortal • Compelling user experiences, whether – Unauthenticated – Weakly authenticated – Strongly authenticated • uPortal can start delivering value from the zeroth click Questions? Andrew Petro apetro@unicon.net www.unicon.net