whitespace
whitespace COMPANY whitespace SERVICES whitespace PRODUCTS whitespace PURCHASE whitespace SUPPORT whitespace CONTACTS whitespace Home whitespace Contact Us whitespace Site Map whitespace
whitespace
whitespace
whitespace
WHY ARTFULBITS
whitespace
OUR APPROACH
whitespace
OUR TEAM
whitespace
FACT SHEET
whitespace
NEWS & EVENTS
whitespace
PRIVACY
whitespace
whitespace
whitespace

News & Events


November 30, 2017

New website for our SharePoint products and services.

We are happy to announce that our SharePoint website was successfully launched. This is a very important step for us, because SharePoint is prioritized as one of the areas, in which our company is planning to keep actively advancing in the nearest future.

sharepointportal

New web-portal should help us with that by optimizing any kind of interaction between our team and customers which are interested in our SharePoint products and services. The website can be found by the following link: www.sharepoint.artfulbits.com. We hope you will find it intuitive and easy to use. Some pages may still be under development, but we plan to finish them soon. If you have any suggestions or concerns about our new SharePoint website, please don’t hesitate to get in touch with us and share your thoughts. We will appreciate any feedback!




November 15, 2017

Using SMS verification to increase your software security.

Nowadays, SMS and Voice call services are widely used as a second step verification in a lot of software products. Good old email verification is still used as a primary method, but you can’t be sure with that

thing, anymore. There are number of services offering fake emails creation. That is why second step verification methods should be used. It is much needed for both: users - who get extra security for their accounts, and software owners - who can verify if their users are real people. Let’s take a look how SMS verification can be implemented in your software.

First of all, it is important to define main purpose for which SMS verification service is needed. This will help you to determine implementation logic. For example, if your goal is to provide extra security to user accounts, then SMS verification can be used each time after user attempts to login. SMS service will send a code that will need to be entered into some kind of form. Only after that, user will get logged in. As another example, SMS verification service can be used for software owner to verify if their user is a real person, not a bot. The implementation can be a bit more sophisticated in this case. Upon registration, users will get SMS (or a phone call) with some puzzle or a question, getting answer to which will be easy for human, but will be challenging for a bot.

SMS verification

After determining functionality you will need to integrate one of the appropriate services into your software solution. There are plenty of them on a market. Experienced software developer can help you choosing the right one, according to your needs. Our company previously worked with Twilio and RingCaptcha, and we had positive experience with each of them. Twilio offers SMS and voice call options for convenient price. To get started you will need to buy custom phone number for outgoing SMS and voice calls (starting from 1$/month) and developer will need to create a simple API service to process SMS and calls. After that the price will be calculated based on per-message rate (0.75 cents/message for US numbers). RingCaptcha is a bit more expensive (2 cents/message for US numbers), but it includes free starter plan with 500 free SMS per month. Unfortunately, it does not provide voice call option. We used Twilio and RingCaptcha solutions for both: websites and mobile apps, and we’d highly recommend them to anyone looking for a stable and reliable verification service.


Implementation of SMS service for user verification purposes should not be complicated or expensive task for experienced specialist. Security benefits you get will exceed you expenses. Consider using this mechanism for any software which processes personal information of users, and we will be glad to help you with implementation!




November 3, 2017

How to turn your SW idea into a concept?

As software developers, we quite often see the situation when some of our clients after developing an idea have troubles in explaining it to others. Usually, it is because the idea is still raw and not supported with enough of details.


If software programmers do not understand business logic of software solution, they will not be able to make a proper analysis and estimations. This can lead to very big problems in the future, such as: wrong choice of technologies, underestimation of development time, wrong performance of software, etc. So, Idea to Concept how to avoid this? How to transform your idea into a well-developed concept, which can be presented to others? It’s actually not that hard, you just need to think it through and make sure that everything makes sense. We prepared a list of some key aspects that we recommend to think about during this process:

  • Technical implementation possibility.
  • End-users of product.
  • Ways of distribution to end-users.
  • Benefits for you as a product owner.
  • Supporting documentation.

Technical Implementation Possibility

Probably one of the most important things here is technical implementation possibility. HW and SW have certain limitations, so not every idea can be technically accomplishable. Nice thing to do will be to analyze each part of your solution and try finding such technical constraints. For example, iOS app that measure body temperature sounds like a good idea that can be useful for people. But do iPhones have external temperature sensor?  No they do not, and typically you don’t have to be a programmer or engineer to do some researches and find such information online. Such obstacle is very critical for the entire solution, because measuring temperature is the main feature of this proposed software. It is important to recognize such technical constraints from the very beginning, prior to development stage.

End-users of Product

Next thing we suggest to do is to define who will be your end-users (targeted audience). This aspect will not only affect distribution and marketing of the product, but also the product itself. For example, if the software is intended to be used by elderly people, you may want to consider using colors, designs, and typography that can be accessible by visually impaired individuals. If the app will be used mostly in Arabic countries, UI/UX needs to be done in Right-to-Left direction. That’s just a few examples to show how important is defining targeted audience.

Ways of Distribution to End-users

Another important aspect to think about is product distribution, which is a mechanism that defines how SW functionality can be obtained by end-user. If software needs to be publically available, consider publishing it to online marketplace platforms. If the app is for some company internal use, some other mechanism of distribution may apply, such as sending installation file via email, etc. In scope of product distribution we suggest to think not only about the ways how the software will get to users devices, but also about ways how software itself will deliver its features to end-users. For example, in many cases solution will require user authentication, if so, then login/registration flow must be considered. Other things that affect delivering software functionality may include: licensing model, dependency on internet connection, custom permissions, and others. If any of these will be required, make sure to spend some time and think about how it’s supposed to work from end-user point of view.

Benefits for You as a Product Owner

A benefit for product owner is another important aspect that may affect structure of your software. Software products are quite costly as you probably know. In exchange to the development expenses software should provide some benefits in order to be economically reasonable. If this is custom software for internal use than the software product is a form of benefit itself. It improves internal processes and reduces operational expenses. On the other hand, if the product is not meant to be used by you or your organization then there probably will be some kind of monetization mechanism that should help you to at least cover your expenses. There are many types of strategies that can be used for monetization, such as: product licensing, in-app purchases, third-party advertisement inside the program, etc. Implementation of any of these strategies will require certain structure of software solution. That is why it is important to describe your monetization plans to software developer.

Supporting Documentation

Last but not least, after you did your thinking and already developed a clear vision in your mind about how things should work, you will want to present it to others in understandable manner. Developing supporting documentation can help you with that. It does not need to be professionally made and very formal. Its main purpose is to assist you with presentation, so basically it can be anything that you feel comfortable with: handwritten sketches for interface, list of features or requirements, process diagram, demonstration of similar products, etc. The goal is to visualize how the solution should work, the main modules, and how they interact with each other and with end-users.

Aspects

From Idea to a Concept

After thinking about each of the aspects and preparing supporting documentation, your idea will turn from something not very much determined into well-developed concept, which can be demonstrated to developers, investors, and potential customers. As you can see, this process, in most parts, does not require advanced technical knowledge, and can be performed by you as a product owner. However, in case you will have troubles with anything, you can always get in touch with us for professional advice.




September 19, 2017

Choosing between Provided-hosted and SharePoint-hosted model, explained on a real life example.

Few weeks ago ArtfulBits Weather app for SharePoint Online was published to MS Store. Even though the functionality of the app may seem to be very simple and straightforward, the experience we acquired during development process was very important for us, and we decided to share it with others.


Weather app

As you may know, for many years our company used SharePoint technologies for the development of custom solutions and components that are represented by: web parts, custom columns, and site templates. All of them were made for SharePoint on-premise environment. We did not have much experience with SharePoint online add-ins, till now. Weather app release is symbolic, because it is our first product made for SharePoint Online.

SharePoint Add-ins Development

Process of developing add-ins for online environment has some differences comparing to on-premise farm solutions. This is mainly due to the different model of deployment and installation. Add-ins that are distributed via MS Store cannot include “full trusted code” solutions that run on SharePoint servers. There are two basic kinds of add-ins: SharePoint-hosted and Provider-hosted. To determine which of them will be better for our app we decided to gather brief information about each of the models:

SharePoint-hosted Provided-hosted
App location: App is hosted in SharePoint and it uses 100% client side code. Front-end app is installed to SharePoint site, but it serves as a link to external server or cloud, where all the functionality is being run. App provider is responsible for remote infrastructure.
Technologies: Business logic is written using JavaScript. App components can include HTML/CSS/JS files and SharePoint components such as: Site Columns, Site Pages, Content Types, etc. Any programming language can be used for server side code. Besides using SharePoint components the App can connect to any internal or public web services.
Permissions level: Users can grant only the permissions that they have. Can go above user’s permissions level.

How to choose the right model? SharePoint Add-ins Documentation suggests the following approach: “The most useful way to determine which patterns you'll want to use is to start with your own requirements, technologies, and goals and match them with the options and possibilities that are enabled by SharePoint Add-ins.”

Process of choosing the right model

So how this can be applied in our case? Which model would be suitable for our Weather Forecast add-in?

To give you better understanding on how we approach this decision, I will briefly describe our add-in functionality. The main purpose of the app is to inform users about the weather. When added to a site it shows current weather for a list of cities. Each city visualized in form of a tile. After clicking on a certain city-tile - user will see detailed information about local weather for next few days. There is also an ability to add new cities and choose a format of date and temperature.

Weather app

Now, being familiar with main features of the app, how do you think, which development model would be more suitable? In the process of making our decision, we asked a few questions ourselves:

  • Can the app use only client side code, or there will be any functionality that needs to be executed remotely, on back-end side? - In our case there was no necessity to use any server side components. All of the functionalities could be handled on SharePoint client side: city names are received by calling Google Maps Geocoding API and are stored in standard SharePoint List, weather data is obtained from Yahoo Weather API and visualized on the city-tile. All this logic can be executed in scope of SharePoint site.
  • Does the app require high level permissions and privileges? Will it be possible that application will need to elevate user’s permission level? – No, to be functional app needed Edit permissions on List level, and most of the users have such privileges.
There are a number of other things that needs to be taken into consideration for each particular case. For instance, one aspect that could affect our decision was visibility of Google API key (it is used to connect to Google API). For SharePoint-hosted model the key would be easily accessible in client-side code, any user can discover it. After some analysis, we did not find it threatening, so eventually we decided not to worry about hiding it, and go with SharePoint-hosted model since it was suitable with all the other requirements.

Summary

We would like to conclude that SharePoint-hosted model may look more preferable since it does not require use of additional infrastructure, but Provider-hosted model must be used if:

  • There is at least one component, which needs to be located on remote server (for example: processing Google API key would need to be moved to external server, if we would find it unsafe to have such module in client-side code)
  • The app needs elevated privileges that go beyond users’ level of permissions.

I hope this information was useful for those, who just started their pass towards SharePoint add-ins development. You can follow us on FB, G+, Twitter for other interesting content!




May 17, 2016

List Search SharePoint Web Part by ArtfulBits

Flexible and efficient search in SharePoint is an eminent feature that is required by everyone using SharePoint for optimization of the business processes - document workflow, data exchange and communication.


List Search Web Part logo

SharePoint is known for its wide capabilities in regards to business processes. In fact, SharePoint can be viewed as an operating system for business. It can handle all operations performed within a company or corporation. A common situation is running multiple websites for internal usage (Intranet portal) by different departments of the certain company, along with the external web sites used for the communication with the clients. All of them are within the same installation of SharePoint. All communication, all data, all documents are being stored within SharePoint and can be accessed. This is where SharePoint may become an extremely flexible tool providing access for chosen groups of users to the chosen lists where data is stored.

List Search web part from ArtfulBits contains a number of extended features that can significantly improve SharePoint search capabilities:

  • Ability to save search filters, give them names, share search filters with the users.
  • Supports "contains", "exact" and "begins with" filters, along with the AND/OR conditions that can be applied to the selected columns for search.
  • Ability to limit allowed search on the site to the set of the site collections, lists/libraries and views.
  • Ability to print search results or export to MS Excel.

Few words about licensing for ArtfulBits solutions:

List Search Main View

Most 3rd-party SharePoint web parts are limited either to a specific web application or to the number of the users, which is very inconvinient in terms of using the same web part all accross the site-collections within a given SharePoint installation

ArtfulBits provides its clients with the most flexible licensing model that supports all business processes that can take place within your company. It is done with the help of "per-farm" licensing model. Once List Search web part is installed on your SharePoint Farm, it can be easily used all accross your web applications and site-collections!


Read more about List Search web part



May 12, 2016

How To Adapt Web Parts for SharePoint 2016:

The architecture of SharePoint 2016 is not much different from SharePoint 2013. Though, components and web parts migration can become a dangerous adventure, anyway. But not for ArtfulBits!.


SharePoint 2016 logo

After successful installation of Microsoft SharePoint Server 2016 we faced with the necessity of upgrading the source code of our SharePoint web parts and components to SharePoint 2016. An upgrade process was easy because we accumulated a lot of experience with a significantly more complex shift from SP 2010 to SharePoint 2013.

So, first we decided to upgrade SharePoint Installer to SharePoint 2016. Few general issues had to be solved in the beginning:

  • Identify correct names of the Sharepoint services employed by the solutions as they can differ from previous SharePoint versions. our SharePoint solutions employ SharePoint Administration and SharePoint Timer Service
  • Check the path to SharePoint folder in Web Server Extensions. Now we can see folders named 14, 15 and 16 inside Web Server Extensions, where 16 is for SharePoint 2016. We needed this information to check whether the server is installed on the machine. Using all this information you have to make corresponding changes in the project classes.
  • Upgrade project files to newer Visual Studio 15 version. It means:
    • including “Microsoft.SharePoint, Version=16.0.0.0” reference
    • changing TargetFrameworkVersion to v4.5
    • changes in solution files: Format Version to 12.00, # Visual Studio to 14, VisualStudioVersion to 14.0.24720.0, MinimumVisualStudioVersion to 10.0.40219.1

Now about the process of making 2016 packages for ArtfulBits solutions:

After few minor changes in .bat files, we could run them and got our packages. But we met a problem with MSBuild.exe and project files connected with Visual Studio Version. We resolved it passing “/p:VisualStudioVersion=14.0” for SharePoint 2016 projects as a parameter for MSBuild.

Certainly, the last step should be to install new SharePoint 2016 version of ArtfulBits component on Microsoft SharePoint Server 2016 and check whether its functional.


SEE ARTFULBITS SHAREPOINT SOLUTIONS



March 28, 2016

Cascaded Lookup Column For SharePoint 2016!

While all SharePoint community is wondering regarding pros and cons of the new SharePoint 2016, ArtfulBits released new on premise version of one of our most popular SharePoint components - Cascaded Lookup Column adapted for SharePoint 2016.


SPI logo

It's being used in multiple compound SharePoint solutions and corporate portals by hundreds of companies. It's an indispensable tool for building relationship between parent and child columns, especially in non-trivial situations like editing lists in Datasheet mode.

Even though, there is only RTM version of SharePoint 2016 available now, and the full release is expected sometimes in early May, we decided to adapt our SharePoint components now. We do believe that hybrid solutions promoted by Microsoft will become more commonly used. However we also want to support our clients on their existing on-premise installations of SharePoint.

ArtfulBits Lookup Columns are an effective solution for SharePoint!

Visit Cascaded Lookup page for full information!



January 25, 2016

Shopping Cart Web Part Version 1.7 Released!

New version of Shopping Cart for SharePoint contains so many new features, that a new major version number could have been given! However, ArtfulBits wants to provide it for their customers without any additional charges!


SPI logo

TO save your time, here is just a glimpse on the new features:

  • Integration with PayPal

    now 2 payments available: POD and PayPal.
  • Stock counter

    you can set up a number of items in stock for each type of a product. The user will see different labels based on the number of items left: "In Stock", "Last Piece", "Sold Out".
  • Auction

    now it's possibile to set up an auction for chosen products.

1.7 version is a remarkable step forward. Other than already mentioned functionalities, there are quite a lot minor improvements - search results, sorting became more intuitively understandable and etc. However there is also another remarkable improvement that you'll notice - UI changes. Both - administrative and user UI have been reevaluated and stylized. All functions are easy to use. Your users will appreciate an ease of finding the right products, ordering it, and using order information easily again and again. Administrator will also appreciate an ease of creating new products, product types, auctions, an ease of providing stock availability and easy management of forms and notifications.

ArtfulBits Shopping Cart has become even more affordable and powerful solution for your SharePoint site!

Visit ArtfulBits Shopping Cart page for more info!



October 14, 2015

SharePoint Ideas - community platform for SharePoint professionals by ArtfulBits.

Best sparkling ideas are generated by the crowd of professionals from all over the world, but not in the office lobby. That’s why ArtfulBits is launching SPI – SharePoint clues for the tasks and problems that someone dealt with.


SPI logo

SPI is a community platform for SharePoint professionals provided by ArtfulBis Inc.

SPI goals are the following:


  • Showcase real SharePoint tasks or problems solved with the help of ArtfulBits SharePoint components or web parts.
  • Provide SharePoint professionals with the complementary resources to tackle similar issues.
  • Entertain by competing with each other.

We believe that there is no better source of ideas than the community of people. After the years of marketing own SharePoint solutions, ArtfulBits doesn’t see any alternative to partnership with its users. Best sparkling ideas are generated by the crowd of professionals from all over the world, but not in the office lobby. That’s why there is SPI – SharePoint clues for the tasks and problems that someone dealt with.


What we call you to do?

SPI banner
  • Identify the challenging task or a problem that you solved with the help of any of ArtfulBits SharePoint components or web parts.
  • Record a short video from your screen displaying the step you have made to solve this task.
  • Save video.
  • Submit a post on www.sharepointideas.artfulbits.de with the download link to your video and text description of the task that was handled.
  • Evaluate solutions of fellow-professionals.
  • Get reward for the most popular solutions.

Every user of ArtfulBits SharePoint component or web part is able to submit any number of posts.


How the contest works?

Note: the contest is not the main goal of SPI (this is just #3). Therefore the prizes are symbolic. However we want to award the most inventive posts. Also the number of winners and the prizes may change in future.


SPI banner2
  • Everyone can vote for the posts that are inventive and helpful.
  • A user can submit as many posts as he/she wants.
  • 2 most popular post are rewarded every 3 months.
  • The 1st place receives $100 discount from ArtfulBits, and 2nd place receives $50 discount from ArtfulBits.
  • Every post can participate in the contest only once, even though the possibility to vote for the post is always open.
  • After submission, a popularity of the post will be evaluated only during the next 3 months period (clock on the site counts the time to the end of the 3 months context).

Inventive and practical recommendations for dealing with the real business tasks is our main goal. Therefore, we admit that SPI will open a possibility to submit ideas with the help of any 3rd party SharePoint web parts and applications in future.


Our vision of SPI is to SharePoint pit-stop for the professionals from all over the world. You build SharePoint Ideas, not us!



September 8, 2015

Master Calendar feature-rich web part for SharePoint 2013 is released!

ArtfulBits Master Calendar is capable to connect to multiple data sources (SQL, Outlook on-premise and online, SharePoint lists, Google Calendar), and display all events in one view.


It provides the powerful capabilities for much more convenient events manipulation and team collaboration.

Main features:


  • Multisource support. ArtfulBits Master Calendar collects events from SharePoint Lists of any type, from any SharePoint site, in one Calendar view.
  • Multiple data sources. ArtfulBits Master Calendar provides four data source types: SharePoint List, SQL Database, Google Calendar and Outlook Calendar (cloud based or on premise).
  • Multiple views. This feature includes the following views: day, week, month, quarter, year and Gantt.

Master_Calendar

ArtfulBits Master Calendar is a logical sequel of ArtfulBits Calendar Web Part, which is available only for SP 2007 and 2010. Master Calendar, on the other hand, provides more possibilities in terms of connectivity with different data sources, and team collaboration, in terms of working with information on the task progress.


ArtfulBits team is determined to continue extending functionality of Master Calendar. That’s why we are especially thankful to all our clients, friends and visitors of our website for providing us with valuable insights in this regards!


Visit Master Calendar page for more info!

12345678910
icon 
whitespace
whitespace
Company | Services | Practices | Technologies | Career | Contacts | Privacy
© 2005-2017 ArtfulBits. All rights reserved.