Archive for October 25, 2016

Build or Buy Application Development?

There’s nothing quite like a bespoke suit. Having something custom made for you makes that item special and specific to your needs.

Back in the day when materials were expensive and labor was cheap, most people had one, perhaps two custom made suits. Today, materials are cheap and labor is expensive so clothes are mass manufactured on assembly lines overseas and people have closets full of commodity items that are “prêt-à-porter” or “ready to wear.”

Just a few years ago the application market was in its infancy and if you wanted an app, you likely had to build it from scratch. Those days are long gone. There are many marketplaces where you can shop for “ready to wear” applications on almost any platform.

Build or buy is a fairly common question in all aspects of business and it’s no different in application development. What is different in application development is that you are tied to the platform that the app needs to run on and that platforms “stores” where you shop for applications. 

So the bigger question may be how robust is the application market for your platform? This is one of the many reasons BlumShapiro is totally committed to the Microsoft platform. The level of interoperability across the Microsoft stack is remarkable. At Microsoft, the group that is the home to SQL Server is called “App plat” – the developer tools division was designed to build apps on top of SQL databases that would surface in all types of Microsoft programs, including Office for the greatest level of accessibility for end users that may need access to the application. Microsoft works with the most popular mobile platforms and offers an exceptional experience on both Android and iOS. Consumption of the tool, or application is an important consideration in your “build or buy” decision.

There are several other key considerations when developing an application. One of the first questions that tend to come up with a client is the usage scenario for the application, especially around the idea of is this app something we want to sell as code, or will this be something to use internally as a service to your clients. Having clarity of purpose on the usage scenario for your app needs to be clear for everyone on the team. In our work with clients we tend to start with four key questions to think about when it comes to app development. When you sit down to think about your app some questions you need to ask yourself include:

  1. What does it do?
  2. Who is it for?
  3. What is the problem we are trying to solve?
  4. Is this the best way to solve the problem?

Question 4 reminds me of a presentation given by Dean Kamen, the inventor of the Segway, insulin pump and founder of For Inspiration and Recognition of Science and Technology (FIRST). In his presentation he discussed the “forward facing chariot” developed by the Mongols while traversing the Gobi Desert. The forward facing chariot did exactly what it said – it always faced forward. There was a pointer on the chariot connected to the wheels so that if one wheel were spinning faster than the other and the chariot were turning, there would be an indication of the turn. This ensured that the Mongol hordes did not get lost going in circles in the desert. And it worked… but then again, so does a compass, which is smaller, lighter, cheaper and more reliable. The moral of the story is don’t invent forward facing chariots when a compass does the same thing… better.

How to avoid this in modern application development? Do your research and find an app on your platform that is close to what you need, then get a good “tailor” for a custom fit.

About Noah

240-Ullman,-NoahNoah is the Director of Business Development for BlumShapiro’s Technology Consulting Group. He brings over 25 years of business experience from entrepreneurial start ups, to over a decade of working at Microsoft in various sales, marketing and business development roles. Noah has launched Windows XP, Office XP, Tablet PC, Media Center PC, MSN Direct Smartwatches (an early IoT attempt), several videogames, a glove controller, and a wine import company/brand. Noah spent three years living overseas building out Microsoft’s Server and Tools business in Eastern Europe working with the IT Pro and developer communities. He considers himself a futurist, likes science fiction and loves applying what was recently science fiction to real world problems and opportunities. 

CTA Build or Buy Mobile App

CC’d By Mistake: Helpful Outlook Tip Series – Ignore Feature

Have you been CC’d before on emails that you should not have been copied on in the first place? The old way of handling these emails was to simply delete them as they came in. However, in larger email chains there may be numerous email replies and time spent deleting these can quickly add up, resulting in lost productivity. A faster and easier way to reduce these emails is to highlight the message in your Outlook inbox and then click the Ignore button in the ribbon under the home tab.

CC'd by Mistake 1

If it’s your first time using this feature, you will see this additional prompt below, just click on Ignore Conversation button to delete the email conversation.

Now, if there are any future replies to that email thread, Outlook will automatically send it to your Deleted Items folder. If you accidentally ignored the email conversation, right click on the email in your Deleted Items and click on the Ignore button again to restore the email conversation back to your inbox.

This is one more tip for how to utilize the features of Office 365 to be more efficient and productive with your time. If you aren’t already using Outlook, we recommend trying Office 365 which gives you access to the latest Office version (Office 2016). Learn more about how BlumShapiro Consulting can help implement Office 365 for your organization to use.

david haleAbout David: As a senior consultant with BlumShapiro Consulting, David coaches a range of businesses on the latest Microsoft cloud solutions. David’s belief is in keeping technology simple and easy to use for businesses. David has experience in the lifecycle of technology implementations from assessments, selections, implementations and project management. David specializes in the SMB/non-profit market for Microsoft Office 365 and Dynamics CRMDavid received a Bachelor of Science in Information Systems Management from Quinnipiac University. Prior to joining BlumShapiro in 2009, David was a Desktop Support Specialist at Aetna in Middletown, CT. He currently holds a Microsoft Certified Professional (MCP) in Office 365, Dynamics CRM and is a Yammer Certified Community Manager.

Stay up to date on the latest technology trends with our eNewsletter Technology Talks. Sign up today! 

Intelligent Apps Are Friendly Apps

Whether you are a human or a computer, it pays to be friendly. When you buy something, are you more likely to buy from friendly or unfriendly salespeople? I like to spend time with people, but only if they are friendly. I am more apt to be generous with people who are friendly and am more easily persuaded by friendly people.

With technology, I love to interact with friendly software, or should I say “intelligent apps”. What makes for an intelligent app? Well, they are apps which exhibit a kind of machine intelligence which we associate with human intelligence. Not “super computers,” but computers and software which exhibit the same qualities I enjoy in friendly people. Let me get a little more specific:

  • People whom I have met before usually recognize the sound of my voice. Those who listen to what I say are ones which I admit to my inner circle. My friends may disagree with what I say, but I know that they listen and understand me.
  • People whom I have just met make some guesses about my mood and interact with me accordingly. My friends recognize my mood pretty quickly when they converse with me. My close friends always seem to respond to me in ways that are intended to bring me back to a positive frame of mind.
  • Most humans I come across recognize that, when I get to the “heart of the matter,” I am not performing surgery, or dealing with organs in any way. Only a literal minded person, or a super-computer, would come to that conclusion.
  • Finally, I often come across humans who do a great job of sharing knowledge with me. When I ask questions, they provide me with a lot of great information. I enjoy spending time with people who are knowledgeable, yet humble, and try to maintain contact with them professionally.

Of course, computers and software have historically not done any of these things well! It’s no wonder many people may find them infuriating. Our computers and software just haven’t conformed to our perceptions of intelligence – therefore, we don’t perceive them as friendly. But, longstanding ideas about what artificial intelligence (AI) looks like have inspired what are called “Cloud-Based Cognitive Services.” In other words, scientists and engineers have figured out that cloud computing, big data and data sciences have enabled the technologies needed to deliver AI.

Meet Your New Best Friends

I think the thing which is so attractive about “intelligent apps” is that I perceive them as being friendly.  Take Windows Hello, the facial recognition software in Windows 10 which recognizes your face as your login. I much prefer logging onto my Surface Pro 4 at home (which has Windows Hello) than my work laptop (which does not). My face never expires, does not need to be reset, and doesn’t need to be remembered! This is just a fabulous experience; it’s almost as though my tablet “knows me.”

Here is another example of intelligence which makes life easier- natural language processing in Power BI. Before natural language processing, I had to apply filters to my data, click around to find the thing I was looking for and format the graphs and charts on my report. With Power BI, I can simply type “Show Me Last Year’s Sales by Territory” and the data appears. This is simply one example. Power BI dashboard authors do not even have to have created a report in order for this intelligent app to suggest it as a possible solution. When paired with the voice recognition capabilities of Cortana, it may seem that you have a digital assistant with limitless access to the dashboard, reports and data you need to run your business.

Cloud-Based Cognitive Services

Today’s modern applications are intelligent apps, and the hallmark of an intelligent app is human-like artificial intelligence. Most application developers do not have access to the AI algorithms needed to be truly effective. However, the giants of cloud computing have made these capabilities easy to acquire and integrate into your next product, service or business systems.

Microsoft Cognitive Services are a set of Cloud Application Programming Interface’s (API’s) which application developers can embed into their modern apps to make them intelligent. There are API’s for visual recognition, speech recognition, text analytics, recommendations and much more. Perhaps you want to create an app which recognizes a face, or a user’s voice. Perhaps you want to create an app which interacts with users differently based upon the user’s perceived mood. Perhaps you want to make recommendations to customers on your website. It’s all possible, and in fact, a lot easier than you might imagine.

BlumShapiro Consulting is a Microsoft Advanced Analytics partner, with expertise in building modern intelligent apps. And we are extremely friendly.

Berry_Brian-240About Brian: Brian Berry leads the Microsoft Business Intelligence and Data Analytics practice at BlumShapiro. He has over 15 years of experience with information technology (IT), software design and consulting. Brian specializes in identifying business intelligence (BI) and data management solutions for upper mid-market manufacturing, distribution and retail firms in New England. He focuses on technologies which drive value in analytics: data integration, self-service BI, cloud computing and predictive analytics. 

Technology Talks Newsletter CTA

On the Leading Edge of New Technology

Being on the leading edge of any technology can be exciting, but it’s often frustrating and even costly. There is an inherent risk associated with adopting technology that is new. Lack of community support or documentation if something goes wrong are just a couple of the issues that can arise. However, there are benefits to being an early adopter. For example, working hands-on with a new technology is the best way to understand how it works. As technology consultants, we view it as our job to understand what’s coming so we can advise our clients with a clear eye to the future.

Scenario

A client asked us about alternatives to their current Remote Desktop Services (RDS) implementation which was being hosted by a third-party vendor. There were a few issues with their current setup, namely cost and maintaining multiple logins, and they didn’t have any type of domain or user directory. After exploring a few different RDS deployment scenarios, they ultimately decided on using a preview version of Azure Active Directory Domain Services (AD DS) on Azure virtual machines.

They really liked the idea of using Azure AD DS because of the promised benefits; no servers (on-premises or in the cloud) to maintain, simplified user interface, etc. We shared our assessment of the risks and unknowns of using an untested technology, but the client whole heartedly accepted these risks because there were so many more upsides to using Azure AD DS for their specific setup. So, we set out to implement Remote Desktop Services using Azure Active Directory Domain Services…and we learned a couple of things along the way which we are happy to share with you.

Sometimes the Leading Edge is the Bleeding Edge

The first lesson learned was that with Azure AD DS, you cannot be added as a Domain Admin or Global Admin. They have their own security group called AAD DC Administrators that you have to create yourself. A good thing to note when dealing with Azure AD DS. Which lead us right to our second lesson learned.

When trying to add the Licensing Manager as a member of the AD group Terminal Server License Servers group, a permissions error popped up:

The computer account for license server [ServerName] cannot be added to the Terminal Server License Servers group in Active Directory Domain Services (AD DS) because of insufficient privileges.

Leading Edge

Thinking back to that security group, I thought, “I am not a Domain Admin, I cannot be a Domain Admin.” I felt a little helpless. Thankfully the computer didn’t need to be added to the group since all RDS servers were on the same domain. But still, I couldn’t help feeling like something might be a miss later.

As a Microsoft partner we have top tier access to Microsoft support, who recommended a few solutions to this issue…which resulted in the same permissions’ roadblock.

When the Microsoft support engineer mentioned this was the first he has heard of someone trying this, I thought, I must be a pioneer attempting this while AD DS was still in beta. But one thing was for sure, the Azure AD DS team liked the idea that someone was trying out an RDS implementation with it.

When you work with a beta version or when you install something without waiting for Service Pack 2 to be released you are blazing a new trail. When you do something new there is a thrill of being the first person to try something, and a long-standing honor in the tech world to be the first to figure something out.

In the end, after another hiccup or two, the rest of the Remote Desktop Services deployment went well, without any additional permission issues. And the result showed us that Remote Desktop Services does work well with Azure Active Directory Domain Services and was able to accomplish the client’s goals.

Once the beta for Azure Active Directory Domain Services is complete, I’m wondering if RDS will be on the list of supported technologies. Then I will feel like a true trailblazer cutting a path for others to follow.

Our experience with Microsoft tools gives us an inside track and an ability to work with these new technologies because we deeply understand the underlying platform. While being on the bleeding edge of technology can be risky, having experts to help guide you, navigate any issues and provide needed support can help mitigate some of these risks. And in the end, the benefits to your organization will outweigh any roadblocks encountered along the way.

About Brent:

Brent

Brent Harvey has over 10 years of software development experience with a specific focus on SharePoint, Project Server, and C #and web development. Brent is an Architect at BlumShapiro Consulting, working on projects across varied industries (banking, manufacturing, health care, etc.). Brent is a Microsoft Certified Solutions Expert in SharePoint 2013, Solutions Associate in Windows Server 2012, Specialist in Developing Azure Solutions, and Professional Developer in SharePoint 2010.

Technology CTA (3)