Anyone planning to develop a VSTO Add-In may come to realize that documentation and examples are scarce or nonexistent. Recently I have found myself in this exact predicament as I have been developing a Microsoft Word VSTO Add-In to be used in the legislative drafting process. Throughout development, my team has created a handful of solutions for both simple and complex tasks. Many of these solutions could not be found online, and as a result, required significant research and testing. Here are a few examples that I wish I had when I started to develop a VSTO add-in that will hopefully jump-start your VSTO development.
Overriding Default Save Behavior
One of the core features that was required for our Word Add-In was version control. In order to support this functionality, we would need to override the default behavior of Word’s save functionality….
I attended UXPA Boston 2018, a one-day conference hosted at the Sheraton Boston. This was a highly anticipated event for me as it was my first year attending despite being interested in previous years. What’s more, this year’s conference happened to land on my birthday, so it was a real treat to break from the day-to-day routine!
I was especially looking forward to sessions by UXers from notable companies like LogMeIn, Google, and IBM on the topics of user research workshops, collaboration and the future of UX.
Attendees of this conference ranged from content writers, product managers to marketing professionals and beyond. I chatted with folks there, and it was interesting to learn how people in different roles and companies prioritized different topics.
Purpose Before Action – Why you need a Design Language System
Designers from IBM opened this session by outlining the definitions…
The genetic algorithm is part of a family of algorithms used for optimization problems first conceived of in the 1950s at the Institute for Advanced Study in Princeton, NJ. The algorithm didn’t gain much commercial use until the late 1980s. In this post, I will briefly discuss genetic algorithm and how it works, going over an example of its implementation. I will also discuss what practical problems genetic algorithm can be used to solve. Lastly, I will provide some links for more reading on the subject should you feel like learning more.
So, the Genetic Algorithm gets its name from the fact that it attempts to simulate biological evolution. If you recall from high school biology, all life is composed of DNA, and that DNA is made up of chromosomes, which are made up of Nucleic Acids. When an organism reproduces,…
SQL Server’s AlwaysOn technology (available since SQL Server 2012) provides high-availability and disaster-recovery database functionality which largely supplants mirroring and log-shipping – in fact, mirroring is now deprecated. Exactly what functionality is available and how robust it is, varies by release (2012+), edition (Standard versus Enterprise) and the physical infrastructure devoted to it. AlwaysOn is fairly easy to set up (though it requires cooperation from both Windows Server and networking admins) and, relative to the required effort, provides exceptional durability for SQL Server databases. AlwaysOn is not a complete OOTB durability solution and has significant gaps – e.g. it does not maintain SQL Server logins and roles synchronized across multiple servers – but it is an excellent start for the needs it caters to.
This post assumes the reader has at least a basic familiarity with SQL Server backups, as well…
Imagine a way shoppers and consumers could virtually try on clothing, accessories and even make-up to ensure what they are getting is right for them. Thereby saving them wasted time, money and effort returning products they don’t like or even letting them sit idle; specifically eyeglass wear!
With the technology of Augmented Reality incorporated into a Chatbot, there is a new way to shop using Augmented Reality technology, being able to change between outfits and makeup products are now becoming a reality. The development of AR in products and apps is revolutionizing the way we shop by helping consumers ‘try on’ various outfits and products before even stepping foot into the store.
Tallan has developed such bots to run several extremely effective campaigns for large fashion industry clients like Revlon. Tallan’s Chatbot technology solutions enabled these fashion industry leaders to quickly deploy…
What is a design system?
A design system is a library of standard, extensible components that create a consistent visual language paired with accompanied defined behaviors for each component. Components are individual elements that stem from the atomic design methodology. They can be used as building blocks to assemble a user interface to be used across multiple applications, devices, screen sizes, and mediums.
Material design is an example of how components are paired with design specifications, defined with expected behaviors and guiding principles on usage (see figures 1 – 3). From there, a design system uses these standard components to build patterns such as inputs, buttons, navigations, error states, etc.
Why do design systems matter?
Design systems create a unified experience across platforms, devices and enterprise suites of applications. They create a strong, extensible base through a modular approach using consistent components and defined…
This post is based on a StackOverflow answer by Oliver Wienand that I came across while researching the AngularJS pattern described below.
Data binding between controller and directive in AngularJS can be a tricky subject for the uninitiated (and often, even for the initiated). AngularJS is great at providing the magic that makes data flow easily between components on the front end – except when it’s not. This post is an examination of one of the cases where not everything is straightforward.
Passing a callback function into a directive with isolate scope is simple – just a matter of creating the binding in the scope definition (callback: ‘&’). However, there is no built-in equivalent for exposing a directive function to the parent directive or controller. That is, if we have the (truncated) directive definition below, we’re going to have to do some…
SharePoint Hybrid Environments offer flexibility for businesses that are not ready, able or willing to move all of their existing content to SharePoint Online. Whether it is because of current customizations, third-party solutions and integrated legacy applications that aren’t available or supported, or it is due to regulatory and compliance restrictions, hybrid environments may be the answer for an organization weighing the benefits of moving to the Cloud.
Hybrid Environments let businesses migrate content that they want to move and can move to SharePoint Online while keeping the rest on-premises and ties the two together. For the end user, the experience is unified and seamless. Hybrid Environments can be useful for many scenarios including Gradual Migration, Regulatory Restrictions, Unified Search, Business Connectivity Services (BCS) and Business-to-Business (B2B) Extranets.
Recently I was given the opportunity to spend some time playing with Facebook’s awesome AR (Augmented Reality) Studio. I worked through Facebook’s quick start tutorial and created a mustache effect in no time. Immediately I was hooked, it was all so easy to use. AR Studio does the heavy lifting for the face tracking, so really all you need is a texture to make your first filter. So after the first and second basic filter, I wanted to make something more dynamic, I wanted to change the filter on tap, and suddenly my progress screamed to a halt. All of a sudden the documentation and instructions lacked what I needed. I looked through the tutorials and found out how to add scripts, but not how to change materials, or bind the events to specific objects. After hours of experimentation I…
“Hey Google, how can my business be at the top of all of my clients’ search results?” Between Siri, Google, Alexa, and Cortana, searching for anything and everything has never been easier. As technology becomes more and more hands-off, businesses need to be more hands-on in ensuring they can keep up with the times.
By the end of 2019, at least half of all searches will be voice searches – this includes not only personal queries such as “What’s the weather”, but more business-related questions like “Where is the closest place for me to replace my tire today”. According to market research, 76% of people who search for something nearby on their smartphones visit a related business that day, and 28% of those searches result in a purchase. Smart speakers also add to voice search analysis. Nearly one in five U.S….