2/22/2012

Inaugural Office 365 Saturday Redmond

I am proud to be part of the planning committee for the inaugural launch of Office 365 Saturday, taking place at the Microsoft Conference Center in Redmond on February 25th, 2012.

Some of you may be familiar with the incredibly successful SharePoint Saturday events. These free community-driven events are now being held all over the world. Office 365 Saturday is hoping to replicate that success with a similar format, but covering all aspects of Office 365 including Administration, SharePoint Online, Lync Online and Exchange Online.

Despite being an early adopter of Office 365 myself (and loving it), I am not speaking at this event (helping plan and coordinate is quite enough), but I will be moderating an Ask the Experts panel focused on strategy, planning and governance with an outstanding panel of community leaders including Christian Buckley (Axceler), Richard Harbridge (Allin), and Jeremy Thake (AvePoint).

Did I mention this event is free? For more information, or to register visit the event website at o365redmond.sharepoint.com.

1/20/2012

Adding Scripts to a SharePoint Online Public Website

In this blog post I discuss how to use the PayPal widget to insert JavaScript <script> tags in a SharePoint Online public website.

Microsoft launched Office 365 in 2011 to much fanfare including cloud-hosted versions of Exchange, Lync and SharePoint. Both the Small Business and Enterprise accounts include the ability to host a public-facing website. Targeted at making it easy for a small business, the public-facing site utilizes a custom website builder rather than a typical SharePoint Publishing site which can require considerable customization to effectively support a public-facing site.

One of the inconvenient truths of any simple website builder is that although it can provide non-technical users with an easy way to create a website, it can also reduce the amount of control and customization that can be made to the site.

Using the SharePoint Online Website Builder

Creating and editing pages in SharePoint Online provides a familiar menu interface that utilizes a Ribbon Menu (example 1) similar to the Ribbon found in a normal SharePoint 2010 site.

Similar to SharePoint 2010 Wiki pages, pages created using the SharePoint Online builder allows you to select from a variety of dynamic layouts that create “Zones” where static content can be authored or edited (example 2) using rich-text formatting tools on the menu. It also provides the ability to insert images, tables, hyperlinks and a selection of “Gadgets”.

Gadgets are similar to Web Parts, but the available gadgets are not the typical set of Web Parts found in the Web Part gallery of a standard SharePoint site. The SharePoint Online public site gadget gallery is not customizable, and the gadgets provided are all that are currently available.

Adding Dynamic Content with Scripts

Even small businesses often require the ability to add dynamic content to their website. An example may be an embedded Google or Bing map, a streaming video, or an RSS or social networking feed.

Popular social networking sites like Twitter and Facebook, or Web 2.0 site enhancements like Disqus comments generate JavaScript script tags for users that can be embedded into websites and blogs to support dynamic feeds. Typically, you might expect to use the HTML gadget to embed scripts, but the HTML gadget with SharePoint online on public websites filters out <script> tags.

Thankfully, there is a work-around available by making clever use of the PayPal gadget found under the “More Gadgets” fly-out menu. Just insert a PayPal gadget in your page, and add the following template code.

Linked to external scripts is supported (including popular CDN sites for linking popular libraries like JQuery), or inline script that can be used to add some sophistication to your website.

If you are not comfortable with editing code, the Webbrewers blog has a code generator that allows you to copy script snippets from sites like Twitter into a textbox, and they will automatically wrap it with the above template.

12/24/2011

Silverlight is Dead, but the Status Quo is Alive and Well

In this post I discuss the future of development on the Microsoft platform for web, mobile, tablet and desktop with respect to Silverlight, .NET, WinRT, and competitive platforms.

Silverlight is Dead, Long live Silverlight! For those not living under a rock, the furor in the Microsoft development community at large over the last X months has been keenly focused on the future of Silverlight, and the impact of HTML5 on application developers.

Bob Muglia lit the fire at PDC10 and again later at the MIX11 conferences when he announced that Microsoft’s strategy for Silverlight *had shifted*. Toss in the strong messaging around HTML5 and IE10, and the distinct lack of sessions and content around Silverlight, and many started scratching their heads that Microsoft had pulled the rug out from underneath their own developer community. After 4 years of hearing that Silverlight was the future, the Silverlight party was over?

Silverlight! Huh… What is it good For?

When Microsoft originally announced Silverlight (and all the partner managers started telling consultants to learn Silverlight), I remember distinctly thinking “Does Microsoft really hate Adobe that much?”.

Given the timing, and at least some speculation in the web and mobile community that Adobe Flash was perhaps already entering it’s twilight due to challenges of supporting the burgeoning mobile smartphone marketplace, I saw little benefit in the strategy of developing what seemed like nothing more than a Flash alternative.

It didn’t help that with my professional activities focused on SharePoint, and Silverlight was not really supported on SharePoint 2007. I was also hearing rumors right up until about Silverlight 3 that even the internal product teams at Microsoft were hesitating to incorporate Silverlight in their products with concerns it was still not ready for *prime time*. I experimented a bit with Silverlight, but adopted a “wait and see” attitude.

SharePoint 2010 was released with support for Silverlight, and including the Silverlight Client Object Model, but it still seemed like a niche and largely unnecessary technology. For the most part I preferred to solve my client-side UI goodness with jQuery, and other JavaScript technologies that were multi-browser, multi-platform, and didn’t require a plug-in. Then came the news from PDC10 that Microsoft was repositioning Silverlight, and the writing on the wall seemed pretty clear.

The Future is HTML5… Eventually

Well before the PDC10 conference there was already a lot of opinion on the Internet about the future of HTML5 over technologies like Flash and Silverlight. Google was leading the charge of “Everything in a Browser” with HTML5, Chrome and the Chrome Store, and Apple was refusing to support Adobe Flash or Microsoft Silverlight on iOS.

The problem, of course, is that HTML5 is not *really* here yet. Many browsers supports parts of the HTML5 specification, but many more remain unimplemented, and there are huge variations across browsers and devices. HTML5 won’t become a completed and ratified standard until sometime in 2014/2015.

With good reason, many in the SharePoint Community like Becky Isserman in her blog “Silverlight, My Love, Please Don’t Go Away”, made the case that Silverlight remains the best technology for rich internet applications.

Ok -  I agree with those points, but that’s today, and HTML5 is still the future. Still no Silverlight shining in my eyes, I can wait… and then Microsoft launched Windows Phone 7.

Finally, a Unified Development Experience?

When Microsoft announced that Silverlight was going to be the development platform for building applications for Windows Phone 7, I finally saw the Silverlight <at least I thought I did>.

Silverlight 4 now supported the ability to take Silverlight applications offline and launch them from the desktop, and with rumors already circulating that Windows 8 was going to be tablet focused, it suddenly seemed clear that Silverlight was slotted to become the unified Microsoft development platform of the future. Applications developed in Silverlight could be written to execute in a browser, on Windows 8, and Windows Phone. One language to rule them all, and in the Visual Studio bind them.

Developers start your engines! The tides had turned, the scales had been tipped. Time to get serious about learning Silverlight… just as soon as they release Silverlight 5.

The Silverlights are on, but Nobody is Home

Before the BUILD11 conference, it was already rumored that Windows 8 was supposed to offer HTML5 as a new development choice for applications. I suspected that Silverlight would be used to provide a rich developer and user experience for native installable applications, but HTML5 would be front and center for browser-installable applications similar to Google Chrome applications. HTML5 applications would be sold side-by-side with Silverlight applications in the AppStore for Windows Phone and Windows 8, and developers would truly have the freedom to choose their development stack.

Fast forward to the Build11 conference and the development communities first real glimpse of Windows 8, and… whoa! I won’t go into the gory details, but the whole Microsoft development world has been tipped on it’s side again. Silverlight is out, WPF is out, hell, the .NET framework is out. Toss in the news that Scott Guthrie has joined the Azure team, and the the rest of the Silverlighties have been sliced, diced and tossed to a variety of other teams, and the interweb is once again humming with posts announcing or denouncing the ultimate fate of Silverlight.

So, if Silverlight is dead, then HTML5 has won? Has Microsoft finally embraced cross platform, ubiquitous, standards-based application development based on HTML5/CSS3 and Responsive Web Design?

Uh…nope! The future, at least in the Microverse is now WinRT.

The Status Quo - Alive and Well

Windows 8 will support both “Classic” and “Metro” style applications. For applications running in classic, it is essentially the standard Windows Desktop supporting Native, .NET applications using WinForms, WPF or Silverlight, or anything else that you would expect to run on Windows 7 now.

The new Metro-style applications are based on a new runtime called WinRT, and support two development approaches: XAML or HTML/JavaScript. For those already comfortable with WPF or Silverlight development, the development tools and approach will be very familiar to developers. The HTML5 support is another story.

You can write Metro style applications in HTML5 and JavaScript, but your code runs against a proprietary WinRT library, and the application has to be packaged and deployed as a native Metro application on Windows 8. Not exactly the cross-platform development nirvana many may have been hoping for. In typical Microsoft fashion, expect your applications to be shackled to the desktop.

So… the status quo? Somewhat sadly, it means that the silos of competing technology platforms, languages, tools and application stores currently being waged between Apple, Google, Microsoft, Amazon (and others) for control of the client device isn’t going to change anytime soon, and probably a lot longer than that. Yes, developers will be able to write pure HTML5 applications and utilize responsive web design to create applications that can run anywhere, but the full potential of these applications will be hobbled by protectionist strategies fiercely employed by market leaders to wall-off their platforms and communities. Should any of us really have expected any different?

12/05/2011

Mobile Freedom with a Mifi / iPod Touch and Skype (Goodbye AT&T)

I have been an AT&T iPhone user since the 3G first debuted. I am not a heavy user of phone or data service, but like most people enjoyed the convenience of being able to map an address, find a local restaurant, post a photo to Facebook, or read the reviews on some gadget I wanted to buy while in a store.

One feature that became a *must have*, if only on an infrequent basis, was the ability to tether my laptop when visiting a client site, or giving a presentation. Until after the release of the iPhone 4, AT&T simply did not support tethering with the iPhone. To support my need, I routinely jailbroke my phone in order to take advantage of MiWi, an application that could turn my iPhone into a Wifi hotspot for up to 5 devices.

With the release of iOS 4.3.4 and iOS 5x, Apple has been making it more difficult to perform untethered jailbreaks. I finally bit the bullet, gave up my AT&T unlimited data plan for the 2GB plan, and activated tethering on my AT&T iPhone account. It turns out that despite an unlimited plan, most months I was only using 250-300MB of data. All told, I was now paying close to $100/month for a feature I might use once or twice a month. I was incensed! I had already converted to a metered data service, what was the extra $20 a month to support tethering actually paying for?

Enough was enough!

I sold my iPhone 4G on Craigslist, bought an iPod Touch (think iPhone without the phone), and signed up for a TruConnect MiFi. Now I use a Mifi and Skype on my iPod Touch to make calls over 3G.

For those who have never heard of TruConnect, they are a new mobile data service provider that utilizes the Sprint network. They offer a contract-free data service plan that utilizes the Novatel 2200 3G Mifi for just $4.99 a month and 3.9¢ per megabyte. While TruConnect is not a great option for heavy data users (try Virgin Mobile if you are), for someone with a low monthly data throughput, the cost savings are substantial. I now pay on average about $15 a month, which is saving me almost $1,000 a year from my AT&T iPhone plan.

So far the experiment has been very successful. I don’t find carrying the extra Mifi device in my jacket pocket inconvenient, and the data throughput has been fairly consistent at about 0.7Mbps download and 0.3Mbps upload in the Seattle area. The occasional phone call using Skype works just fine, and since Skype on the iPod Touch 4th generation supports bluetooth, I can even use my Motorola H710 bluetooth headset to make and receive calls while driving.

The day I called AT&T to cancel my iPhone account was a very happy day indeed!

8/17/2011

Automate Publishing Content Types with PowerShell

In SharePoint 2010, the Managed Metadata Service provides the ability to publish content types from a central location called a hub. In my tip "Publishing Content Types with the Managed Metadata Service", I demonstrated how to configure content type publishing through the SharePoint User Interface. In this companion tip, I will demonstrate how to automate the configuration of the Managed Metadata Service hub, and the publishing of content types through PowerShell.

Read the complete article on MSSharePointTips.

8/16/2011

Publish Content Types with the Managed Metadata Service

SharePoint content types are created and managed in the Content Type Gallery of a specific SharePoint site, and are inherited by all sub-sites within the same site collection. In SharePoint 2007, to use the same content type across multiple site collections required duplicating the content type manually, or deploying a custom developed feature. In SharePoint 2010, the Managed Metadata Service provides the ability to publish content types from a central location.

Read the complete article on MSSharePointTips.

8/12/2011

Essential SharePoint Sandbox Solutions

The release of SharePoint 2010 introduced a new way to develop and deploy SharePoint customizations called "Sandbox Solutions.” Sandbox solutions encompass both a new deployment model for no-code elements like master pages and page layouts, and a new least-privilege code execution environment.

Sandbox solutions have gotten a bad rap in some circles, largely related to the restrictions placed on developers, and the limitations on supported customizations. However, sandbox solutions offer some compelling features for developers and administrators that make them essential knowledge for anyone developing and deploying custom solutions for SharePoint 2010.

Read the complete article published on CMSWire.