There is a common perception that age is a defining factor in how enterprise users adjust to, and engage with, enterprise social networking tools. The problem, so the folk wisdom goes, is that older users are slower to adopt newer, “cutting edge” software (translation: consumer-like UI and functionality) because they are averse to change (translation: stodgy) and comfortable with what they have (translation: complacent).
Their research has shown that the demographics of age are less of a factor in enterprise social adoption than people think. If you doubt that statement, go check and see if your mother-in-law is on Facebook and get back to me. Mine is. In fact, she’s probably ‘liking’ a photo of my daughter right now.
Where there’s been resistance to enterprise social, it’s been more about a question of how people work, Yammer tells us. Their research shows that older ‘information workers’ (i.e., people who are used to interacting with knowledge in a give-and-take fashion) tend to adopt social tools in much the same frequency as younger information workers. It is those used to a process-based approach to work that often resist.
While older workers are far more likely to be comfortable with a process-based approach– because hey, that’s how they grew up in business– there are also younger users (translation: engineers, project managers, etc.) who fit that bill as well. The key to helping anyone with a process focus to become a successful user of social tools is in giving them a single use case where the social tool makes life easier than whatever they’re using today.
People will nearly always adopt a new tool when it is easier to use than the old tool. That takes research, requirements analysis and planning– it’s not instantaneous but it’s worth the effort!
Being able to create multiple application deployment types with Configuration Manager is a great feature. This gives you the ability to have one application built to suite many deployment needs, such as MSI, Script, AppV, Citrix or multiple languages. While this is a great feature there is one issue with the new release of Configuration Manager 2012 R2 I have come across.
While creating new applications, I started to notice many were not giving me the ability to select uninstall the button was grayed out while other applications worked fine. I then proceeded to verify uninstall was setup correctly, and if any of the installs were set as required. The one thing I did noticed was all the applications that were having the uninstall issue all had multiple deployment types. So I said to myself (SELF) what if I removed all the deployment types except one, and guess what, now I can uninstall the application. So after this chat with myself, I decided to try the same thing on all of the other applications that I have this issue with and now I can use the uninstall feature on them as well.
My theory was that if you have multiple deployment types you lose the ability to uninstall applications. I decided to test this in our lab on an older version of Configuration Manager 2012, and found I had no issues with the ability to uninstall applications when you have multiple deployments created for the same app.
So this appears to be a bug or an issue in SCCM 2012 R2. I did read a articles stating that this is an issue at this time, Microsoft is working on a fix. So for now if you have multiple deployment types created with SCCM 2012 R2 for a application you will not be able to use the uninstall feature, the button will be grayed out.
I will do a follow up to this post once I get conformation this issue has been resolved.
Happy Application Packaging….
Here are some screen shots of my testing.
Multiple deployment types
Grayed out uninstall
One deployment type
Last week, Perficient and Clarity teamed up for the webinar, “Maximizing Your Lync Investment in the Contact Center.” Matt McGillen, Director of Infrastructure at Perficient, and Craig Reishus, Director of Business Development at Clarity, showed attendees how they can extend Lync to other business units, easily adding functionality to an existing Lync environment.
First, Matt showed why people are choosing Lync, and how Lync is truly modernizing communications. It’s allowing people to work from anywhere, thereby enabling and improving mobile productivity. It’s providing users with connected experiences, enabling new ways of collaboration with voice and video on a single unified client. And it’s simpler to manage with deployment flexibility. When it comes to the latest version, Lync 2013, organizations are choosing it for a multitude of reasons, including:
Next, Craig showed attendees Clarity Connect, Clarity’s robust contact center solution that natively extends Lync’s capabilities. Clarity Connect is built on high level APIs, with the call never leaving Lync. It is delivered to the Lync client. The solution allows organizations to simplify administration and decrease costs, without sacrificing on functionality or user experience. During Craig’s presentation, he demonstrated the features that come standard out-of-the-box, including call recording, and walked through the rich, dynamic dashboard. He also explained the licensing model, which is derived from the quantity of three variables: concurrent channels, support agents, and servers. The pricing is all inclusive – there are no separate costs for the number of call centers that you have.
Matt and Craig finished their presentations with time to answer many of the great questions that came in during the session. You can watch the entire webinar, including the Clarity Connect demo and Q&A portion, here.
Simply put, Lync does not support certificates that are issued using the Cryptography API: Next Generation providers. At the time of this writing, Lync 2010 and Lync 2013 only support certificates that are issued using legacy Cryptography API providers. To determine if your certificate was issued with CryptoAPI:NG support, use these quick instructions:
Using certutil.exe, you can examine the information about the certificate.
Certutil.exe –v –store my “certificateserialnumber”
A lot of data will be returned, but you need concern yourself with only a single piece of that information. If you do a search and find Microsoft Software Key Storage Provider, then your certificate has been issued using the new CryptoAPI:NG provider and won’t work with Lync.
If you say to yourself, “So what!? I’m going to use the certificate anyway!”… Attempting to assign a certificate that is used using the CryptoAPI:NG providers within Lync will result in an error and the certificate cannot be used:
An error occurred: “System.Security.Crpytography.Cryptographic.Exception” “The buffer supplied to a function was too small.”
This past Wednesday, we hosted a webinar, “Using Yammer and SharePoint Intranets to Drive Employee Engagement.” During the session, Rich Wood, Director of Web & Social Collaboration at Perficient, first gave a quick overview on the enterprise social network and Yammer, and then went on discuss user adoption and engagement. He covered what exactly a social strategy entails, and the importance of a social maturity assessment, complete with a social toolset recommendation, community planning and a communication plan. Throughout the webinar, we shared some of Rich’s highlights on Twitter @Perficient_MSFT:
Rich explained that when it comes to adoption (he prefers the term engagement), training is crucial, yet surprisingly rare today. That said, learning from coworkers is among the most common AND most effective learning methods. While organic growth is bottom up, and organizational mandate is top down, and both have their advantages and disadvantages – but the key is in the planning.
With Yammer, familiarity breeds usability. Yammer looks like Facebook, as Rich pointed out. If you know how to use Facebook (as the vast majority of us do), then you intrinsically know how to use Yammer. Read the rest of this post »
What is Platform as a Service (PaaS)? How does it differ from Infrastructure as a Service (Iaas)?
Let’s start with IaaS. When “The Cloud” first became popular IaaS was the target. The point of IaaS is to migrate a company data center into Windows Azure. This involves converting whatever physical servers you have to Hyper-V virtual machines and upload the contents to Azure(or sending them via FedEx for Microsoft to upload). While this process is cumbersome and time consuming it does work and has some great benefits. The next step in this process is to create a secured link between your former data center and the Azure data center. Doing this will allow your users connectivity to all of their pre-existing applications. In fact, your users should not even notice that the data center has been moved. Everything should operate exactly how it did prior to the migration. Depending on the size of your infrastructure IaaS has the ability to save you time, space, money and will allow IT admins to breathe easy knowing they don’t have to be overly concerned with server hardware failure. From that perspective, IaaS saves you money because you have zero server maintenance / replacement cost. Another benefit of IaaS is that all of your existing third party software is guaranteed to work on IaaS. If a business has an old Citrix application that is critical for the accounting team, then migrating to IaaS will guarantee that application still works as expected. The problem with IaaS is that you are still running an entire infrastructure. IT will still have to manage the servers, Active Directory, patches, and updates. In short, you aren’t benefiting from a lot of the major benefits of the cloud.
PaaS aims to solve that.
PaaS in Azure is synonymous with “Cloud Service”. The target of PaaS is custom business applications that will replace your existing third party software infrastructure. These applications can be written in either .NET or Java. In PaaS you essentially rent the hardware the application runs on. Renting the hardware means you do not have administrative access to the virtual machines powering the application. The permissions are set so that Remote Desktop to the virtual machine is enabled and users can administer IIS.
What is the advantage of renting hardware the application runs on? Why wouldn’t I simply use IaaS to retain tighter control over the environment?
Azure manages the infrastructure powering the application so IT administrators no longer have to worry about it. The infrastructure used to power a global application with millions of users generating massive amounts of traffic (like SnapChat) is massive. The work and time it takes to manage that infrastructure is several times larger. With PaaS you are able to eliminate the management of the environment the app runs on. It is also cheaper to run an application with PaaS than creating dozens upon dozens of virtual machines. Scaling is much easier with PaaS. It is possible to scale to a massive size very quickly(and automatically) with PaaS. To do the same with IaaS, virtual machines must be created in geographically relevant locations.
PaaS provides most of the flexibility that IaaS provides. By sacrificing a little control administrators and developers are able to automate most of the infrastructure maintenance that comes with growing web applications. This not only saves money but allows developers to create new features without having to worry if the infrastructure can handle it. Whether the application is of massive global scale like SnapChat or simply a small application which applies business logic to users; PaaS on Azure maximizes productivity by removing laborious infrastructure maintenance.
Windows Azure has many different devices for publishing and consuming content. Two of those which are often confused are web roles and web sites. The two are very similar and share some common strengths, but given specific conditions one may fit your need better than the other. For example, web roles and web sites will both support auto scaling, database support, blob storage access, ASP.NET, NodeJS, Python and PHP. Here is a brief overview of specific uses for each.
Web sites on Windows Azure operate very similar to those run by other web hosting companies but with added Azure benefits. You can access the site you created via FTP or Git which means changes you make to the code are updated instantaneously upon submission. If you need to use any of the templates that are provided by Windows Azure then web sites are the way to go. Azure has a slew of templates that you can install, configure and update from the gallery. Everything that you are familiar with in traditional web sites applies to Windows Azure web sites.
Web roles are where the power of the Windows Azure platform begin to shine. Here are some of my favorite advantages of the web role cloud service.
A Web role is a cloud service. Cloud services are really where Platform as a Service ideology really begins to work for you. Web roles allow developers much more control over the environment. They are created within virtual machines and allow developers direct access to IIS (or web server of their choosing). Because web roles run in virtual machines they also give you the flexibility that virtual machines give you, without having to manage the virtual environment. What does that mean? With a virtual environment you have to stay up to date on patches for the operating system and web server along with any other maintenance the machine will need. With a web role that is not necessary. While you still have remote access the to virtual machine your web role is running on, you do not need to manage it. The virtual environments and patches are managed by Azure.
Web roles can also be attached to one or many worker roles. Think of a worker role as a console application that will run a computationally heavy process that may take a considerable amount of time. These types of processes are not for immediate user consumption but to be calculated and stored for future access. For example, generating recommendations for users in a way similar to Netflix or Amazon is computationally expensive. To do that within a GUI front end like a web site or web role is not practical. Unlike a web site, a web role can call a worker role to run a background process. This worker role can run on a different virtual machine so as not to ruin the performance of your web role. In addition you can set up Windows Azure Virtual Network so the web and worker roles are on the same subnet. This allows the two to talk directly to one another on the inside of firewalls instead of having to venture out of the firewall and routed through the internet.
There are many more advantages to using Web Roles over Websites but the last few I want to touch of briefly are multiple staging environments, Content Delivery Network (CDN) connectivity, support for unsupported platforms, and running scripts with elevated privileges. Websites do not support CDN’s and can’t run scripts that require administrative permissions. So if a CDN is something your website requires or if you are migrating to Azure and have a few legacy cgi scripts that require admin rights websites will not work for you.
From a development standpoint multiple staging environments is a big win for web roles. When a cloud service is set up, a staging and production environment are created for you. There is no longer the fear of having working code in your test environment and crashing your production environment. The environments are identical in Azure. If it works in staging it will work in production.
Web Roles and Websites also scale out differently. Websites only need to worry about scaling up your site in order to keep up with demand. In a Web role the scaling is similar but what if your web application needs two worker roles for each web role to handle all of the computation. Scaling with Web roles can facilitate this type of configuration.
I have just pointed out a few of the practical differences between websites and web roles. Websites are perfectly suitable for publishing content fast, accessing databases and processing records. They are great for content management systems and you can even use them for e-commerce . If the cloud service you build will need multiple virtual machines in addition to a virtual network where information will be passed inside the firewall or any significant back end, then a web role / worker role setup is most likely for you. It provides you the flexibility you need without having to manage the infrastructure you are creating.
Xamarin and Microsoft have teamed up to make all other development platforms irrelevant. Xamarin is the creator of popular cross platform development tools that allow developers to create iOS, Android and Windows applications all in C#. With the launch of Visual Studio 2013, Xamarin and Microsoft announced a partnership that will significantly improve the experience of developing, maintaining and updating apps written for any of the major popular platforms (iOS, Android, Windows).
Some of highlights of this partnership include Portable Class Libraries, Visual Studio integration, Azure Mobile Services integration and licensing discounts with free training for all MSDN Subscribers.
Portable Class Libraries (PCL) are libraries of code that can be used in any of your projects. PCL’s have made cross platform development easier than ever before. By using PCL’s you can keep the specific platform code within their respective projects and keep the bulk of your logic within the PCL. Using this method will speed up development, code maintenance and bug fixing considerably.
Previous to the Visual Studio 2013 partnership Xamarin came with its own cross platform development environment, Xamarin Studio. While still very functional it was no Visual Studio. Developers not familiar with Xamarin Studio would still have to take the time to re-learn the tools that were available to them. Now with full Visual Studio integration developers can continue to use the tools they are already comfortable with as well as using the powerful Azure utilities when developing apps that require mobile services.
Windows Azure has become one of Microsoft’s fastest growing platform. It has been experiencing 100% year over year growth and just announced it has been gaining 1,000 new customers per day! Microsoft has built templates specific for Xamarin iOS and Xamarin Android apps so developers can simply download project templates with sample code prepopulated and making API calls to Azure! Creating mobile services has never been easier. For more information on this process, please visit this link.
The final point is one I’m considerably excited about. Along with the Microsoft partnership Xamarin also introduced Xamarin University. For .NET developers that would like to learn more about mobile development Xamarin University is a great place to look. It provides live online classes, tutorials, labs and a certification exam. If you are an MSDN subscriber you have access to Xamarin University for free! A value of over $1400!!! So sign up while there is still space. Class starts January 20th!
If you’re considering or have already chosen Lync as your enterprise voice platform, it’s probably safe to say that you want to make the most of your investment. During next week’s webinar, Using Lync to Power Your Contact Center, on Thursday, December 5 at 1 p.m. CST, Perficient and Clarity will team up to discuss how extending Lync to other business units such as the contact center is a simple way to add functionality to your existing Lync environment.
Clarity’s Director of Business Development, Craig Reishus, and Perficient’s Director of Infrastructure, Matt McGillen, will evaluate common pitfalls associated with legacy systems and examine the benefits of a Lync-native contact center solution that removes system redundancy, complexity and high costs.
Clarity Connect is a robust contact center solution built exclusively for Microsoft Lync. The solution seamlessly integrates with your existing infrastructure, adding full functionality with one simple, fixed fee per user. Its premium features come standard out-of-the-box, and include call recording and a rich, dynamic dashboard. The solution works for organizations of all sizes, handling small to medium sized contact centers with a few dozen agents to complex enterprise organizations with geographically dispersed call centers with thousands of agents and numerous queues. You can read more about Clarity Connect here.
To register for the webinar, click here.
Using Lync to Power Your Contact Center
Thursday, December 5, 2013
1:00 p.m. CST
With the newly released Xbox One, Microsoft has been very up front with their quest to take over your living room. One of the main marketing pushes for the Xbox One is that it does more than play games. It integrates with your cable box, it can multi-task by snapping apps to the side (similar to how it is done in Windows 8) and it can run other “apps” while playing games. The pre-installed apps include staples such as Internet Explorer, Sky Drive, Skype, ESPN and Netflix. The full list of can be found here.
There has been a little confusion regarding building apps for the Xbox One. The operating oystem of the Xbox One is a flavor of Windows 8.1, so some within Microsoft claim that any Windows 8.1 app will run on the Xbox One. Other reports claim that support for ANY app might not be true. The reason this has become such a topic of interest is because there is demand!
Is the Xbox One an app platform?
Typically if you develop for a console you are developing a game and require a console dev kit. These are generally expensive but will allow you to test your game on the console before it is sent off to Microsoft to be certified. If any Windows 8.1 app can run on the Xbox One, then there is no need for the dev kits. Or is there? The short answer is yes, there will always be a need for the dev kit. The Xbox One is still an embedded platform. Developers still need to see how their game performs on the actual Xbox One hardware. There is no getting around that.
But what if you aren’t developing a game? What if you are developing an app?
If the Xbox One runs a modified version of Windows 8.1 then you can imagine there is a way to emulate some Xbox One features on an existing Windows 8.1 developer workstation. Better yet, allow developers the ability to create a virtual machine with the Xbox One operating system to test their apps. Kinect for Windows already exists, so integrating Kinect features could be tested as well.
Ever since Apple TV became a “popular hobby” for Apple, developers have been waiting for the chance to create apps on a platform they can access your TV. Prior to the release of the Xbox One, the Apple TV was the closest device for that but the lack of app store has prevented any real innovation. The Xbox One already has an app store and has multi-tasking functionality to make it a viable platform. Microsoft will most likely have to institute a certification process for Xbox Apps so they do not hinder the performance of games but that is a small price to pay for developers to gain access to a users television.
Once the Windows Phone, Windows RT and Windows 8 platforms are consolidated, the Xbox One app store will hopefully be open for developers and help facilitate the next Windows App ecosystem boom.