Category Archives: Mix08

Mix08 – Session 10 – Application = Designers + Developers

This session is based on a big selling point that Microsoft has been driving home for Silverlight and WPF.  Designers and Developers who share the same source code can work on different aspects of the same project seamlessly without stepping on each other’s toes.  The session walked through two different development scenarios to demonstrate this point. 

The first demo was of a furniture design web site.  The developer built the back end that integrated with the database.  He hooked up simple tabs and list boxes to the database for dynamic content.  The Developer then picked up the XAML for the site, and styled each of the page elements to make a slick looking web site. 

The second demonstration was of a Silverlight application called the Deep Zoom Composer.  This is an application that helps users add images inside of images inside of images, like the Keynote demo from The Hard Rock Cafe.  In the same fashion, the developer hooked up the interface to implement all the heavy lifting, and the designer modified the XAML to style the application any way he chose. 

This kind of development and design interaction is extremely encouraging, and could cut down a significant amount of time we spend in construction and user acceptance testing of our external brand sites at BMS.  I am hoping that we work with an agency in the near future that is just as excited about trying out this technology.

Mix08 – Session 9 – Silverlight and Web Analytics

This session was a panel discussion regarding Web Analytics.  The panel was composed of members from WebTrends, Omniture, and Microsoft.  I found this session very interesting, since most of the solutions to track analytics within Silverlight applications are very similar to the ones we implemented with our Flash based RIA sites. 

Agenda

  • Omniture – SiteCatalyst, hosted solution
  • WebTrends – WebTrends Analytics, hosted solution
  • Microsoft – AdCenter Analytics – Beta2 released March 1
  • These products track information through page tags or beacons
  • With Silverlight (and other RIA platforms like Flash, Ajax, Etc), you don’t change pages.
  • You have to create and define pseudo-page views
  • 4 Scenarios:
    • Tracking Silverlight Installation
    • Tracking user Interaction
    • Tracking media Drop-off
    • Tracking Media Buffering

Silverlight Installation

  • JavaScript file to put on site
  • Silverlight.isInstalled method identifies if it is available
  • Check for each version, give them an experience for that version

Tracking user Interaction

  • Determine actions in your pipeline, funnel, etc.
  • Add Event handlers for each action
  • Event handlers map to page view equivalents

Tracking Media Drop off

  • Add invisible media markers every 5 seconds in the video
  • Media Markers trigger events
  • Events trigger page views
  • You can then monitor drop-off in 5 second increments

Tracking Media Buffering

  • Handle  the MediaElement.CurrentStateChanged event
  • When State goes to Buffering, trigger MediaBuffering page view
  • Correlate bit rate, content, geography, etc.

Analytics can bring you a single goal

  • This is through A / B Testing
  • Separation of design in XAML and code in JavaScript enables simple A / B design
  • In JavaScript or on server, for X% of visitors – show different XAML
  • Use analytics service to track difference between results in variation

Wrap Up

  • There is a Silverlight sample available – http://xmldocs.net/analytics
  • Track Geolocation with these projects
    • Akami Edgescape
    • Windows Live

Mix08 – Session 8 – The Future of Advertising Technology

This session was very interesting.  As a technology professional, the business side is not as transparent as it could be sometimes.  This session opened the door to understanding how advertising, both online and traditional media, work today and could work in the future.  Microsoft is investing in this vertical very heavily, and through some of these ideas is looking to become a major player. 

Market Overview – Now and In The Future

  • The advertising market is manual – media is purchased through phone calls & emails
  • The advertising market is opaque – there is no pricing transparency
  • The advertising market is inefficient – there are loads of remnant inventory that drives prices lower
  • Ad networks are the most efficient way to procure advertising
  • They can buy them on CPM basis (cost per thousand) and sell at CPC (cost per click) or CPA (cost per acquisition)
  • Ad Exchanges – they add transparency, increase liquidity by letting advertisers bid & buy across all networks
  • Today – advertiser & agencies come up with marketing goals, the agency will change the mix of ad media manually to match
  • In The Future – advertisers and agencies will define a media plan, translate them to business rules, and through automated experiments, an optimization system can evaluate and adjust the advertising mix in real time
  • Each impression’s value can be set in real time, adjusted, and shift based on campaign objectives (awareness vs conversions, etc)
  • In the future there will be very few analysts, and each of them will be dealing with millions of publishers through automated optimizers and exchanges
  • Agencies and Advertisers (Buy Side) will have to be open
  • Today – Premium sales force manages most ads, remnant sales force has less
  • Future – Automated Systems will take away from premium and leave very low or valueless markets out

Optimizer Architecture

  • seamlessly add advertising into any content, application, or device
  • seamlessly leverage other Microsoft platforms
  • Create ad funded businesses all in one platform

The  Brave New World of Advertising

  • Nokia – leveraging the power of nanotechnology
  • Hypertargeting, personalized advertising
  • Personalized product offerings (like Nike – build your own shoes, custom Mini Coopers, Scions)
  • Projectors, OLED, Disposable video
    • Low resolution projectors are really cheap now
    • OLED will become printable
    • Siemens Printable Video Displays – with printable batteries
  • Tracking & Measuring advertising offline like online
    • RFID
    • GPS Phones
    • 2D Bar Codes
    • Bluetooth, etc.
    • Neural Scanning

Mix08 – Session 7 – ASP.Net Model View Controller

This session was conducted by the famed Scott Hanselman. I had been looking forward to this session since I heard he was speaking – one, to meet him, and two, to learn about the MVC framework and design pattern. I had been neglecting my duties as a technologist to follow up on MVC, and this was my time to catch up. Besides, we had already bumped into Scott at the Scavenger Hunt, and he was pretty cool about that.

Here are my notes from the session about ASP.Net MVC and the design pattern

  • MVC is a new web project type for ASP.Net
  • This type of project is more easily testable
  • It is not a replacement for web forms
  • This is only an option
  • SCOTT HANSELMAN IS HYSTERICAL!
  • You must be using .Net 3.5 to be able to create ASP.Net MVC Application Solutions
  • Select a testing framework (nUnit, WatiN, etc.)
  • 3 new namespaces – System.Web.Mvc, System.Web.Routing, System.Web.Abstractions (Now part of ASP.Net)
  • The framework plays well with others – NHibernate for Models, Brail for Views, Whatever for Controllers
  • Clean separation of concerns – easy testing, red/green TDD, highly maintainable by default
  • Extensible and pluggable
  • Clean URLs and HTML – SEO and REST friendly URL structures
  • Great integration into ASP.NET
  • MVP (Presenter) vs MVC (Controller)
  • Request into controller, then to the model for data, then send the data to the View for display
  • The http handler does all the interpretation
  • Routing is kind of like URL Rewriting – define routes, and the URLs will redirect you to where you need to go
  • NHaml, Nvelocity – open source view engines
  • ViewEngieneBase – extend to make all kinds of views, iCal, vCard, RSS, etc, etc.
  • System.Web.Abstraction – Testing without firing up IIS
  • RhinoMocks, TypeMock, nMock, Moq – all kinds of mocking frameworks to use with the abstraction namespace
  • TDD – write tests first. You want to see them fail, then write the least possible to make the test pass. Write, rinse, repeat.

I couldn’t believe the amount of information Scott covered. He explained the MVC pattern, the new .Net framework, the new namespaces, gave examples of routing patterns, how to use different view engines, how to mock, and TDD. This was by far one of the best sessions for me in the entire conference.

Mix08 – Session 6 – Social Networking

This was another panel discussion about social networking. Guy Kawasaki was the moderator. Following the Steve Ballmer keynote, he kept things interesting, and asked some of the hard questions. My notes are scattered, and the session was interesting, but one disappointing fact is the panel did not really cover the use of Web 2.0 and Social Networking inside the Corporation. Read on, and download the session from http://www.visitmix.com to see more.

What are the issues?

  • Security
  • Large horizontals vs niche networks
  • Each site behaves as if you have not used any other site before – antisocial
  • “Friend” vs “Family” vs “Colleague” – how do you label people
  • Privacy, how to give users control over their own data
  • Spam issues
  • signal to noise problem – how do you overcome that?

Is stalking as much of a problem as the media makes it out to be?

  • Companies in this space spend the majority of their time on spam
  • Persistent identities prevent the threats
  • You can validate they are real people by validating against their email addresses

OpenID

  • OpenID begins to persist your identity across sites
  • OpenID is useful, and easy to use, but there is no real gaping problem that OpenID solves
  • Usage needs to become ubiquitous and under-the-covers to work, like SSL

What about media, photos, events, shopping?

  • Entire ecosystems are designed to tie them all together

What about Second Life and World of Warcraft?

  • not necessarily a real identity
  • there are issues with crime
  • users create an alternate reality, rather than extending your actual persona

Casual Games

  • These have taken off in Asia
  • Games like bejeweled, Tetris, KDice
  • They add a social aspect to simple online games

Mix08 Session 5 – The Open Question

This is a panel session talking about Open Process, Open Source, Open Development, and Open APIs.  The panelists were Mike Schroepfer from Mozilla, Andi Gutmans from Zend, Miguel de Icaza from Novell, Rob Conery from Microsoft, and moderated by Sam Ramji from Microsoft.  The session was interesting… it provided a lot of perspective on how the Open Source community views itself, how it operates, and how it is expanding.  Here are some of the topics that were covered:

  • The discussion of patent infringement and Open Source is in conflict
  • The idea of Open Data, for example the collection and sharing of personal data for advertising purposes
  • The acquisition of Yahoo – PHP will be injected into Microsoft and accelerate open source ideas, PHP now can run on Windows Server 2008
  • Debate that opening source code should increase security vs keeping it closed and leveraging Security by Obscurity
  • Not a lot of full open source products – DotNetNuke, Druple, but other Open Source APIs like PHP
  • Criteria for using open source?  All?  None?  Blended!
  • Criteria for making your next project an open source project…?

Mix08 – Keynote 2 – Guy Kawasaki & Steve Ballmer

The second keynote was a one-hour interview format between Guy Kawasaki from Apple and Steve Ballmer from Microsoft. There seemed to be friendly banter between the two of them, and they both seemed to enjoy the session. He is a ham, and plays to the crowd and pulls you into the conversation. What impressed me most was the breadth and depth of knowledge he had on technical and business aspects of Microsoft’s products, services, activities, and acquisitions. I recommend going to the Mix web site, downloading the video for the session, and watching it. It was both informative and entertaining.

There were a lot of questions that were thrown out, so I tried to get the gist of the questions and answers as quickly as I could. Here are my notes. I didn’t get all the questions from Guy and the audience, but I think I got the ones that were most interesting.

  1. Q: Why do you wanna buy Yahoo?
    A: Advertising on the Internet will be the next super-big thing. Yahoo is a way to accelerate Microsoft forward.
  2. Q: Is it a zero sum game? Do you have to do Google in?
    A: We have to have a strong position in search and online advertising.
  3. Q: Are you hunting down Google?
    A: Microsoft is trying to do 4 things, and there are competitors in all of those spaces – Desktop (Apple, Linux), Server & Enterprise (IBM, HP), Entertainment & Devices (Sony, Apple), Online (Google, Google, Google)
  4. Q: What about Apple?
    A: They have some market share, but Microsoft has a bigger footprint in the PC arena
  5. Q: What about Facebook?
    A: Serious about online advertising, Facebook is a big platforms for advertising. That is where Facebook comes in.
  6. Q: You are one of the richest people in the world… what drives you?
    A: Looking forward to doing more great work, look at Silverlight! I wanna change the world, work with smartest energetic fun people. I love a challenge.
  7. Q: What does Steve Ballmer do?
    A: I have 3 types of days – 1) working out of Redmond, work with customers from 7:30 am, 8 at night, 2) Doctor’s in the office – every hour I will have a meeting all day long, 3) There are days where I can think , write, and research.
  8. Q: How much email do you get?
    A: 60, 70 emails a day – steveb@microsoft.com
  9. Q: Where is Bill at? Where is Microsoft post-Bill?
    A: He will be Part Time, Full time in the foundation, working special projects, and taking time off this summer
  10. Q: What’s the marketing pitch to a young person to work at Microsoft?
    A: not that different than 25 years ago. really wanna work on things that will change the world.
  11. Q: How does Halo 3, Guitar Hero, Rock band fit in the Microsoft Strategy?
    A: These are products that people are passionate about, 17 million Xbox users, 11 million Xbox Live users
  12. Q: What’s the plans and long term goal of Silverlight?
    A: As the Internet & PC have grown up, they have forced users to take a fork in the road – use broadly available & easy to deploy applications, or have rich interaction. We are trying to bring those two things together, without compromises.
  13. Q: What are the numbers around Silverlight?
    A: It was launched a year ago, we are shipping 1.5 million downloads a day, and there are still lots of opportunities. Windows update already puts WPF on the desktop.
  14. Q: What’s the deal with Vista?
    A: The cries from the masses were to focus on security, so we did. Now there are some issues with application compatibility & driver compatibility. We have taken feedback, turned around with SP1, and updated the drivers.
  15. Q: How can you do all these things well?
    A: not an option to do one thing, we have to be good at them all.
  16. Firefox and IE. What’s happening there?
    A: Firefox is gaining market share, built up a lot of new developer features in in IE8, and there is lots more to come.
  17. Q: What about IE on the Mac?
    A: of all the key innovations, that is not the top on the list… teasing… it is smarter for us to apply innovation in other areas
  18. Q: Social networking… what’s the Microsoft perspective?
    A: People will be using the Internet more richly. It’s not a fad. The Internet has changed forever.
  19. Q: what about opening APIs on social Microsoft?
    A: We are already providing open interfaces on a lot of stuff. There is lots more to come there too.
  20. Q: What about Adobe?
    A: Yes Silverlight may be a competitor, but we have integrated PDF into our office apps too.
  21. Q: why wasn’t IE part of the evolution of .Net since they are both web solutions?
    A: IE was part of the progression of the OS. Lesson is learned.
  22. Q: If Yahoo moves over to MS, what about all the PHP apps?
    A: Microsoft shouldn’t have 2 of everything. if PHP apps are better than a Microsoft solution, PHP will be in production and supported for a long time. Microsoft will become a PHP shop too.
  23. Q: What are the synergies with Yahoo?
    A: Scale is an advantage in the search game, more search, more advertising, more bidding on keywords, more revenue, more reinvestment.
  24. Q: What about FAST Search & queryless search?
    A: This is in the middle of regulatory review, they have a great technology and a great team.
  25. Q: Talk about the acquisition of Danger
    A: Danger provides Microsoft way to do consumer oriented services on Windows Mobile
  26. Q: Will Silverlight be used for Hotmail, etc?
    A: This will happen when existing products are re-released. We still have issues getting Silverlight on the desktop.
  27. Q: What about Amalga, HealthVault?
    A: Healthcare is the only vertical that we have dug in deeply. It is the least well-served by IT.
  28. Q: The format wars. Blu-Ray has won. Now what for Microsoft?
    A: We are not a hardware shop. We will just shift support. Will it really matter? Will rich media may be delivered over the Internet instead of on discs? Maybe.

Mix08 – Session 4 – Integrating your site with Internet Explorer 8

There are two new features that Microsoft is announcing the Beta1 version of Internet Explorer 8.  These two new features are Activities and WebSlices, as mentioned in the keynote. 

Activities

  • XML installed to the browser using the OpenService Format
  • There are a few simple components that make up an activity – Category, Context, Execute, and Preview
  • Category – This is a way to group the different Activities you add – in this example, it is Maps
  • Context – text that shows up in the context menu, context is typically “selection”, which will use the text that you have highlighted
  • Execute – the actual URL that will be launched, with {selection} in curly brackets to dynamically pass the selection
  • Preview – setting this will allow for a mouseover preview – action is a URL, requires parameters for size and selection

WebSlices

  • Little purple button letting user know you can subscribe to the WebSlice
  • An item is added to the favorites bar
  • This can be eBay items, Facebook friends, Stumbleupon, NY Times most emailed articles, etc.
  • WebSlices is based on hAtom Microformats
  • These are implemented using style classes – some from hAtom (entity-title, entity-content), some are new (hslice)
  • You must have a unique ID on an hslice
  • Leverages and expands the Windows Feeds Platform shipped with IE7
  • Also takes advantage of improved links bar – bold is updated, italics is expiring soon, and gray is expired
  • Converts WebSlices into an Atom Feed
  • Update schedule in the browser from once a day to every 15 minutes
  • Use the TTL  class type to determine time-to-live that will be respected
  • You can also define alternative feed URLs, and an end time
  • The hover behaviors can be hidden to prevent hover behavior conflicts.  If you do this, it is easy to add a button that will add the WebSlice instead.  The same API can be used for links and feeds.
  • If you need a username & password to get to the original content, the WebSlice dialog will ask for it to update the WebSlice
  • Feeds should be used for lists of items instead of just a piece of page content

Conclusion

This is a preview of some of the new developer features in IE8.  There will be lots more to come, including new user-centric features.  Based on what I have seen, that should be very exciting stuff too!

Mix08 Session 3 – Silverlight and Advertising

This session is to be geared to how Silverlight is used in advertising and media delivery.  Following the last few acquisitions of Microsoft’s, and listening to the keynote, they are going to be focusing on advertising a lot more now and in the future.  With my current focus on Brand sites at BMS, this is a topic of great interest.

Polite Advertising

  • Polite advertising is a way of delivering a small banner advertisement, and provide lots more information to the user inline, on demand, when requested. 
  • Polite ads should have a fast initial load time and render very quickly
  • They should also not block the rest of the page from downloading. 
  • Incremental elements should download later, and do so asynchronously
  • There are two techniques to polite advertising with Silverlight – Splash Screens, and Xap Loads Xap
  • Splash Screen – Static splash screen while larger incremental downloads
  • XAP loads XAP – same idea, but you can download other components as needed

Cross Domain Support

  • Ads are typically sourced and tracked at different domains from the page content
  • The default behavior for servers is to throw an Access Denied error
  • By adding Policy files, you allow access to specific domains
  • You can use Flash policy files, or Silverlight Specific ones – ClientAccessPolicy.xml

Tracking events

  • Silverlight has a rich event model
  • You can track activity with mouse interaction, or you can use container state (i.e. size, shape, etc)
  • User click-throughs spawn new page, and then send a ping to an ad tracking servers

EyeWonder

  • Work with Atlas and DoubleClick
  • Leverages their custom InStream Advertising Roadmap workflow
  • By providing additional interactivity & tracking in advertising, you gain more information about your customer
  • As the add is planned, built, and purchased, EyeWonder ensures the ad fits within the parameters of the host site (ad size, file size, bit rate, etc)

Conclusion

This session provided a lot of new information about the design, development, and deployment of banner advertising, and how it will be impacted by the improvements in Siverlight.  I will probably wind up downloading and watching this session again.

Mix08 – Session 2 – Advanced Search Engine Optimization

For session 2 I had selected a session on Advanced Search Engine Optimization.  It sounded like the session was right up my alley.  My hopes were high. 

Search Engine – Crawling, Ranking, Finding

Search Engines do three basic things – crawl, rank, and find. 

  • Crawling – search engines start with sitemap.xml and robots.txt files, and follow links from there
  • Ranking – Each page is ranked according to certain criteria – inbound links (basically an endorsement of other sites – either high quality, low quality, or links with penalty); outbound links; note that subdomains are treated very differently than subdirectories.
  • Searching – simple process – check spelling, determine intent, fulfillment of search request with results, determine results order

Building Pages

  • Use HTML Semantically !!
  • H1 (SEO good) vs spans & styles (SEO bad)
  • A – used for ranking, test in link is important, use something descriptive
  • H1 – only 1 per page, most important page topic
  • Title – critical for determining keywords, relevance, and page content
  • Meta tags – description is what the user will see… without one, the crawler will have to guess at the page’s description based on content
  • JavaScript & CSS – don’t use JavaScript navigation, host css externally

Rich Internet Applications (RIAs)

  • These tend to look like black boxes to the search engines
  • Noscript tags are your friend !!
  • Validate your HTML – it makes the job of the crawler easier
  • 3 types of pages, based on your SEO goals
    • Monolithic – like mail.live.com – don’t want it to be searched
    • Linkable – bmw.com – each car is a separate page, with a rich experience on that page
    • Crawlable – lots of content, all HTML based

HTTP Status Codes

  • 200 OK – Page returned just fine without any errors
  • 404 Page Not Found – good for customers, bad for search engines – never removes pages from search engines
  • 301 Permanent Redirect – instead of throwing the 404, use this for a moved domain, etc.
  • 302 Moved Temporarily – confusing to users and to search engines, don’t use this.
  • 304 Not Modified – conditional get, only if search engine has latest version,
  • 503 Down for Maintenance – great to use if your server will be down temporarily, the crawler knows to come back
  • For more, visit W3C for standards for http status codes

Site Evaluation – Mix Site

  • Do a search for mix08 – the visitmix.com site is not the top result
  • Across the search engines, you get no title, and no description
  • Blogs are beating out mix site !
  • The site has a JavaScript redirect – BAD!
  • 16,000 inbound links to the index.html page, no server side redirect
  • 5700 inbound links to the default.aspx page – a lot less
  • http://www.visitmix.com vs visitmix.com vs visitmix.com/default.aspx – all 3 are different to the crawlers, choose one option and stick with it, use 301 redirects for other two

Other Notes

  • URL Rewriting in asp.net – there is a whitepaper by Scott Guthrie
  • Soft 404s (a page that gives content or a redirect to the homepage) is great for users, but bad for search engines.  There is a workaround for soft 404
  • Case Matters, particularly for apache, mono, etc.
  • There is another whitepaper called How to optimize Silverlight for search – read it!!
  • A good idea to make XAML understandable to crawlers is to create XSLT to reflect XAML
  • There is a Tools Review slide – we are using most already
  • Gatineau – AdSense Analytics – a competitor to Google Analytics (maybe this plays nicer with .Net and Silverlight?)
  • Canonicalization of URLs – include www or not, and force a redirect server side to stay consistent
  • Cloaking is bad
  • Sub-domains do not carry pagerank juice like a directory or subpage will
  • Underscores are bad (one word vs multiple, usability), dashes are better

Conclusion

I had high expectations for this session, since its title promised Advanced topics in SEO.  Most of the session was review.  Some of the more interesting things I walked away with were the brief tips on Silverlight, and on the importance of canonicalization of your site.