Tech in the 603, The Granite State Hacker

Fix: Drag and Drop File Upload on Published SharePoint 2013 Pages

Ran into a long existing bug in SharePoint 2013 where you have a couple of conditions prevent uploading a file to a document library by drag & drop.

The conditions are these:

The document library is exposed as a webpart view on the page.
The page is a published page (as opposed to draft or checked-out) in a site where publishing is enabled at the site collection level.   (note that drag and drop uploads work if the page is not published.)

A number of posts describe the problem out on the interwebs, but I couldn’t find a single one with a working solution… 

They talked about dragdrop.js and the SP.Utilities.CommandBlock undefined error, and setting x-ua-compatible to IE9, and a few other pieces to the puzzle… 

After a consult with the gang around the BlueMetal office, we collectively arrived at the following solution, using Script On Demand functionality…

The fix is to add the following to a script block at the bottom of the master page associated with the published page:

  



     //Drag & Drop fix for publishing pages     
SP.SOD.executeFunc("sp.core.js");       
SP.SOD.executeFunc("cui.js");


That forces those libraries to load for your masterpage even if nothing else on the page requires them.

Tech in the 603, The Granite State Hacker

Time to Extend Your Brand to Windows 10

Marketers, if you’re looking for fresh, fertile ground to extend your brand into, jump now on Windows 10.

The Windows 10 app store is a clear path to:

  • Bump up your online store shopper counts
  • Extend ever-available services directly to your Windows customers (which is about 90% of them)
  • Connect with your brand’s demographic in a way that helps you better understand their needs
  • Build brand value by connecting with partners
  • Build brand value by connecting with social media
  • Escape web browser inconsistency that threatens to pull brand value down
  • Escape security/stability issues in popular platforms (e.g. Android) that threatens brand value.
  • Reach more device form factors with a single, less specialized (less expensive) codebase (desktop, tablet, phone, even game consoles and devices)

AND…

Windows 10 is attracting Microsoft’s (and, by extension, arguably) consumer tech’s most valuable territory,

To wrap one’s head around this, it helps to understand recent history a bit. 

Being a “convicted monopoly” put a lot of costly restrictions on Microsoft, and especially Windows, making every OS release from XP to Vista to Windows 7 less than it could have been.  Despite the fact that Windows is still king in the desktop arena by far, Microsoft has done a great job of digging out from under the perception that it has a monopoly in that space.  It dug itself out by connecting Windows to the both to the cloud and to the broader computing device market, including tablets, smartphones, consoles and devices.

Being out from under those restrictions has enabled Microsoft to really make Windows 10 come together in ways that even the incumbent Windows 7 couldn’t.   All indications are that Windows 10 is a hit and will de-throne Windows 7 as the de-facto desktop OS within a couple years. Between re-claimed freedom to innovate, lessons learned, and other market conditions, it’s a no-brainer that Windows 10 has legs.

[Here’s a number to associate with Windows 10:  1 Billion UPGRADES.  (not counting the number of devices that will be sold with Windows 10 on them.)]

What about Social Media?  According to folks like @fondalo:

With nearly 62% of consumers stating that social media has “no influence at all” on their purchasing decisions (Gallup), marketers are faced with substantial hurdles in an ever-increasingly noisy digital landscape. This challenge is further amplified by a CMO Council study showing that only 5 percent of brands feel they are extremely effective at creating experiences that resonate with target audiences.

In fact, most marketers are currently forced to put more resources toward their digital and social efforts, just to maintain their current returns. I believe this gap will continue to widen for larger brands, but smaller more nimble retailers that get creative and deploy proper resources could end up being the big winner.

Finally, it goes without saying that it no longer matters that you’ve extended your brand to iOS (iPhone/iPad) and/or Android.  The app marketplace for those devices, in your space, is saturated… even super-saturated.  You’ve extended your brand to those app stores, and so has every other brand in the world, including all your competitors.   Of course, saturation will occur in the Windows 10 app marketplace, but getting in ahead of the crowd has its advantages.

Never mind the upside potential on phones and tablets (which remains huge, and far more addressable from Windows 10).  The pendulum is swinging back to the desktop/laptop again (for now).

Being a Microsoft appointed Technical Solutions Professional, I can help.  Let me know how I can bring my (and my team, BlueMetal‘s) expertise to bear for you in your goal to make the jump.
In any case, talk to me.  If you’re a marketing technology manager, what do you see as the pros and cons of jumping into the Windows app pool?  
Tech in the 603, The Granite State Hacker

KB3035583 – Where is the Windows 10 Invitation to Upgrade?

I’ve had a lot of folks express confusion over Windows 10…  It is FREE for the vast majority of existing Windows users. (Only some corporate PCs may run into a cash register.)  It’s also very easy to install for the vast majority of users.  I’m so confident with the upgrade process that I’ve handed off one of the URLs below to my folks, and told them to call me if they have a problem… 

The invitation to reserve Windows 10 is triggered from an update that rolls out over WSUS, described by Knowledge Base article KB3035583.  The reservation is essentially passed since the software is officially released, but here’s some detail on it if you’re curious…

The following URL is the KB article, which describes update that triggers the invitation to reserve Windows 10, mentioning that Enterprise machines do not apply:
https://support.microsoft.com/en-us/kb/3035583


The following article indicates that once installed, the KB3035583 update will also exclude itself from being applied Domain Joined machines:
http://rainesy.com/what-is-the-update-kb3035583-you-might-ask/


But the most important question to answer at this point… 
HOW TO UPGRADE TO WINDOWS 10 NOW:

I’ve had a couple links at the ready since I’ve been answering questions like this a lot lately across both business and personal connections…  here’s a post on how to download & install Windows 10 immediately for an individual system: 
www.microsoft.com/en-us/software-download/windows10

If you’re looking for more information on how to roll Windows 10 out across a company infrastructure, there’s a high level set of options, outlined in the following post:
https://technet.microsoft.com/en-us/library/mt158221%28v=vs.85%29.aspx?f=255&MSPPError=-2147217396

There’s a ton of great reasons for a company to deploy Windows 10, including

  • Universal Apps that enable you to extend your code base and/or future code effort across the entire Windows spectrum
  • A host of attractive, industrial-strength BYOD options for more than just tablets and smartphones
  • The most efficient and consistent use of latest generation hardware including touchscreen and security measures

Microsoft is preparing to *upgrade* over a billion Windows devices to Windows 10.   We’re proud to be a part of that, and very happy to help in any capacity we can getting the bits pushed out to all your machines. 


As a developer, I’m very happy to promote the platform I most want to work on… I really feel that Windows 10’s success is the foundation of a lot of others’ success, including my own.

Tech in the 603, The Granite State Hacker

Windows 10, Industrial-strength BYOD

“Bring Your Own Device” (BYOD) is not new. It’s the term companies use to describe company policies that enable an employee to connect employee-owned devices (typically a smartphone or tablet) to company resources… resources such as email or company document repositories.

In order for BYOD to work, a device must meet criteria for security and manageability minimally agreed upon by the company and the employee.

Mock-up of a woman using a Razer laptop in a classic work setting.

One of the things I love about Windows 10 is the multitude of security and manageability features that really make “BYOD” attractive to both employees and employers.

Being the tablet and smartphone platform that Windows 10 is, there’s been a lot of attention to making Windows 10 able to address many of the objections Enterprise IT has with IOS (iPhone and iPad) and Android devices. (In light of recent issues like #StageFright on Android, I find it hard to figure out how Android is supportable in BYOD scenarios.)

Windows 10 comes stock with not just one, but several viable BYOD solutions that present industrial-strength solutions to these BYOD objections.

Also, being the Universal OS that Windows 10 is, these objection busters apply to traditional laptops and even PCs. The magic here is that you can intentionally & willfully enroll your computer, laptop, tablet, phone, what have you with your company’s computing device policy, and be sure that your device will comply with company policy to the extent that the company requires.

If only for this reason, the fusion of work and play in one machine, Windows 10 makes the PC personal again, as promised.

As a Microsoft Partner-Technical Solutions Professional (P-TSP) with BlueMetal, I’ve been issued an awesome company laptop… but for a number of reasons, I found myself wanting to explore Satya Nadella’s vision for one device that co-mingles business and pleasure.

Having heard Nadella’s call for one device for work and personal use, I selected a laptop that could meet the needs of a higher-end gamer as well as meeting the needs of my role as a Senior Software Engineer in the Devices & Mobility group at BlueMetal.

What I ended up with is a rocket ship of a laptop, (a Razer Blade 14 laptop).

After taking a few precautions like Bitlocker-encrypting my laptop and upgrading to the Pro edition of Windows 10, I was comfortable enrolling my laptop with the company Intune policy. What I get is a stand-out kick ass trophy machine with enough display resolution to make 2k-display smartphone emulators seem quaint, that kicks ass developing apps, which I can then take home and kick ass in Azeroth & Draenor… without skipping a beat.

Imagine allowing employees to opt some portion of their personal hardware into your compute and/or sensor fabric in a way that does not interfere with that employee’s personal computing.

The possibilities add up to a win-win-win.

Employees win because they aren’t stuck with cheap, sub-standard-issue equipment at work.

Employers win, because 1) employees are happier with their better performing equipment, 2) employers aren’t in the hardware maintenance business anymore, and 3) can potentially leverage some of that hardware as an extension of human resources.

OEMs win because employees will gravitate toward hardware that gives them a leg up at work, rather than settling for the sub-standard-issue machine.

The most notable NEW ways to present BYOD in the enterprise are these:

1) Mobile Device Management and Mobile Application Management (App-V) with VPN isolation, making it so that devices have an encrypted sandbox for company applications and data, as well as a dedicated, isolated channel for VPN connectivity that 3rd party apps on the device can’t touch.
2)  Bitlocker-encrypted Hyper-V Virtual Machines with virtual Trusted Platform Module managed by the enterprise, typically where the guest OS is Active Directory-Domain joined.

Tech in the 603, The Granite State Hacker

Visual Studio 2015: An Insider’s Review

I apologize I’ve been pretty wrapped up in a little bit of everything, but I wanted to share a piece my colleague, Dave Davis, Architect at BlueMetal Architects wrote for SD Times:

https://www.bluemetal.com/News/Dave-Davis-Published-in-SDTimes

Well worth the read.

Tech in the 603, The Granite State Hacker

The Edge Browser in Windows 10

Today, I was mildly (but pleasantly) surprised when I logged into my laptop and discovered it had updated itself over night to the latest build of the Windows 10 Insider Preview (10158).  I shouldn’t have been surprised, in retrospect… I knew a build was coming, and I left my laptop on overnight…

The first thing I did was run smack into the Edge browser, which is far more polished in this build.  More importantly, this new browser has many features built in… especially Web Notes. 

Web Notes is a feature which, with a touch (or click if you don’t have touch) you can graphically deface (ok, “annotate” or “mark up”) web content.  Even more fun, you can  touch again, and post it to your favorite social media site or even to OneNote.

This one feature really differentiates the browser, in my mind, from just about anything else out there, and makes it much more clear why a replacement for IE is justified.   I’d heard about the feature, but the experience is far cooler than just seeing it. 

Frankly, in the past, I’ve panned Spartan/Edge as nothing more than browser platform fragmentation… a new wedge in the browser market designed to make the browser a harder platform to build viable apps for. After experiencing the WebNotes feature, I find myself wondering if it won’t a)  end Internet Explorer, and b) make the web cool again.

Given the way the Edge browser integrates with OneNote, I also find myself wondering if Edge shouldn’t be considered a part of the Office suite rather than a part of Windows.  That said, I’m aware of the fact that Microsoft has no plans to bring Edge to IOS or Android.

Aside from the myriad of practical content research and sharing applications, I can easily imagine Edge Web Notes being a social media hit, especially.  Who wouldn’t love to draw moustaches on all their friends & family’s profile pictures?

I have not heard if Edge on Windows 10 Mobile will have Web Notes, but I will be fully disappointed if it doesn’t.  It’d definitely make the web more versatile in a mobile form factor.  My Lumia 1520 with build 10149 has Edge on it, but no Web Notes…  yet.  As a colleague of mine points out, Edge is a Universal Platform app, meaning the code should be baked in, even if it’s not exposed in the UI.  I’ll keep ya posted.

Wouldn’t it be cool, also, if MS updated the Apache Cordova platform to incorporate Edge as the web view, thereby enabling annotations in apps that use it?

For what it’s worth, I used Edge to compose & edit this post.  Blogger is definitely much happier with Edge than with IE 11.

Tech in the 603, The Granite State Hacker

Intro to Windows 10 Universal Devices and Raspberry Pi

I really enjoyed presenting “Intro to Windows 10 Universal with Raspberry Pi” to the Granite State Windows Platform App Devs (#WPDevNH) this past week. 

Here’s the slides which have a few decent links in them to get you started.

[office src=”https://onedrive.live.com/embed?cid=90A564D76FC99F8F&resid=90A564D76FC99F8F%21470743&authkey=AFGBvV7-jEFyGVA&em=2″ width=”402″ height=”327″]

I will try to get a presentation on the next part of this sometime over the next couple months, with a dive in on the GPIO libraries.

Check out the group’s Meetup site for stuff going on going forward.

http://www.meetup.com/Granite-State-NH-WPDev/

Tech in the 603, The Granite State Hacker

Apache Cordova and SharePoint Online / Office 365

The concept came from a good place, but at this point, the story is best described as “science experiment”, as I mentioned at SharePoint Saturday Boston 2015.  I was working on a cross-platform Apache Cordova project for Windows, Windows Phone and Android when the call for speakers hit.  I said “why not?” and I signed myself up to present it…

The good news is that the story’s not without some worth to someone exploring the idea of hooking into SharePoint from an Apache Cordova-based app. Tools that exist today at least assist in the process.

[office src=”https://onedrive.live.com/embed?cid=90A564D76FC99F8F&resid=90A564D76FC99F8F%21470742&authkey=AF2UYViSqPU21mw&em=2″ width=”402″ height=”327″]

The demo code is mostly about accessing files from your personal SharePoint profile document library (A.K.A. OneDrive for business) and indeed, the code is using file access code in addition to SharePoint connection.  The hardest work in a browser based app is to authenticate with Office 365, and this code does that, and then opens up to the rest of SharePoint…

[office src=”https://onedrive.live.com/embed?cid=90A564D76FC99F8F&resid=90A564D76FC99F8F%21470744&authkey=ABWELP8Z5xOqUSY” width=”98″ height=”120″]

Tech in the 603, The Granite State Hacker

Windows 10 and the Near Zero Hardware Liability Enterprise

With Windows 10, Microsoft is re-defining the BYOD (bring your own device) game, and it’s a subtly aggressive move that many will probably appreciate.

No, really.  Like you, I have heard “BYOD game-changer” shticks before, and dismissed it as marketing hype.  Hear me out.  (And also keep in mind that folks once often said “never” with respect to the cloud… but “never” is a lot longer than folks tend to look.)

Let me start by describing what I mean by “near zero hardware liability”.

There are already smaller organizations out there that have completely moved their hardware behind the wizard’s curtain. That is, they own little to no IT hardware themselves (with little to no capital expense, depreciation, or hardware liability.) These companies are typically small, use the cloud to support their infrastructure & services hardware, and BYOD for their employees’ desktop machines.

While cloud services are making serious headway into the enterprise, BYOD has been an arguably harder sell. The whole concept of BYOD has been largely dismissed by most larger companies because BYOD in in the Windows 7 (and prior) world can’t be managed.  Policy can’t be addressed and applied.  Data can’t be protected on an “unmanaged” employee owned device.  Hardware depreciation, liability, and support is kinda small compared to the other liabilities involved.

Imagine a more classically European view of the world however.  In Europe, a user’s computer traditionally is considered to be only a step away from personal property.  Like the days of being given a company car, the days of being issued a PC by your employer may well be coming to an end. 

At the Windows 10 Pre-flight Summit in Redmond this week (6/1-2), it seems the word of the day isn’t so much about “upgrade”.  It is, but there’s a bigger word floating around. 

It’s “provisioning”, or enrolling a device in an enterprise.

In Windows 10, the word “upgrade” is going to die.  It’s not just one platform for multiple devices.  It’s not just one platform for now, until Windows 11.  It’s one platform for the coming decades.  Upgrade to Windows 10, sure.  Update Windows 10, yes.  Upgrade from Windows 10, not in the works.  It’s also one very personal platform in more ways than one.

The day may be coming when part of a hiring decision (both by employee and employer) may be that an employee has devices of their own to bring to the table.  The employee will have their own support network, their own personal liability, and in order to accept the job, the employee must be willing to provision their devices with their employer.

Provisioning a device means the device gets an enterprise managed workspace, as us developers would say, a sandbox where all managed apps and app data live.  Provisioning also sets a minimum acceptable standard policy on the device.  If the device can’t meet the provisioning policy requirements, it won’t be accepted…  (sorry Charlie, you need new hardware.)

I speculate on how much effort it would save companies if they could have the security & policy management without the hardware ownership overhead, but I bet, all told, it would be pretty significant. 

In many ways it will be similar to the car analogy…  you can’t expect to keep a job if you can’t manage your own transportation sufficiently to get you there when you need to be there.

This is also a very aggressive tactic. Imagine an enterprise deciding to implement BYOD, and it’s very successful… to the point where you can’t really get a job at that company without bringing a Windows 10 device.  Is that a labor issue? 

By kicking down as many objections to BYOD as possible, Microsoft may even be looking to drive adoption from the bottom up. Rather than the CIO/CTO decreeing and pushing Windows 10 down, the BYOD user will use Windows 10’s features to overcome the BYOD objections.  Tired of the “golf cart” class standard issue machine at work, a power user brings in their own “hot rod”, and harasses IT until IT realizes the objections can be sufficiently mitigated with Windows 10… and the floodgates open.

I also speculate on the ramifications of the job market.  I could easily envision a day when the mark of a more desirable employee would be the higher end hardware they bring with them.  Imagine how it might re-invigorate the PC market if employee competition drove sales.  Imagine the PC becoming more important than the automobile in terms of employability-driving hardware, as a competitive attribute of an employee.  (The mark of a good chef is their knife set.  The mark of a solid information worker may be their laptop.)

It won’t hit all at once on July 29th.  It all has a ways to go.  It is a very thought provoking possibility.  What do you think? Is this on the path to Tomorrowland?

Edit 6/3:  Day 2 of the conference points out that Hyper-V 6.2 included in some editions of Windows 10 will enable virtualized Trusted Platform Module (v-TPM).  This means that an employer could provide a secure, Bitlocker enabled VM to an employee (which may or may not be provisioned), rather than provisioning the employee’s device as a directly provisioned system.   Yet another way to make BYOD a more Enterprise friendly policy.

Tech in the 603, The Granite State Hacker

A big feature I’d love to see in Windows 11

With all the announcements coming out of //Build, I’m pretty jazzed about what’s coming in Windows 10.   That doesn’t stop me from wishing there were one or two other scenarios Microsoft would get to… and at this point, I’ll have to hope to see them in something after Windows 10.

“App-V-Motion” running apps, migrating them across devices. 

Enable an app running on the phone or tablet or laptop or desktop to seamlessly transition from device to device.

Imagine it’s getting late in the day…  you have a long running process on your desktop that you need to babysit.  Poor timing, sure, but it happens far too often.   Now, rather than being tethered to your desk, you can transition the process to a mobile device, and simply take it with you.   Perhaps it’ll take longer to complete on the mobile device, so when you get home, you hand it back off to bigger iron. 

or, my other favorite scenario…  you’re watching your favorite movie, but it’s time to roll…. so you hand off the movie player app to your phone, and keep watching while you’re on the go, without missing a beat.

With cloud configuration & storage, this scenario is getting more and more feasible, but given where I’m seeing Windows 10, now, this could potentially be a 10.1 or 10.2 feature.