Open source technologies provide longer life for the projects in which they are used and they are an easy way to reuse and extend tried and tested components across a variety of scenarios.  Some of the open source technologies we work with include: C#, Javascript, Angular.js, Bootstrap, ASP.Net, Owin, Orchard CMS, Entity Famework, NHibernate, MySql, SQLLite, Autofac and Ninject.  However, we aren’t limited to just these technologies and their immediate functions.  We are also active participants in the development and improvement of these and other open source technologies.

We also are keenly aware of the possibilities of some leading technologies that are  privative technologies and as such, we do not limit our projects to only open source software as we understand that sometimes these types of applications can meet the needs of clients more so than other software for any number of reasons.  As such we work frequently with a number of these  technologies, such as Power BI, Xamarin, Siaqodb, Reporting Services and SQL Server to name but a few.

The most important thing is not the amount of technologies we are capable of handling, but rather knowing which technology will best fit your project.

Technologies that make the difference

An open source Content Manager System (CMS) done right

Modules, modules and more modules …

Like other CMSs, Orchard has a wide number of modules available for adapting it to the needs of a project.  The more interesting modules add the most desired features, such as content page visual designer,  form visual designer, workflows visual designer or popular HTML editors as requested by end users.  Furthermore, there are exciting modules for Enterprise Level apps, such as Audit Trail, modules that provide scalability in the cloud and modules to connect the system to third party software.

A very well designed piece of software less prone to security holes

Different to other CMSs in the market like WordPress, which was designed to provide a quick answer to end users with the need to publish content easily on the internet, Orchard was born from the beginning as a CMS focused on developers. The results of this decision is a piece of software that is very well designed, less prone to security holes and with many extension points which allow the developer to personalise and extend almost every aspect of the system.

The framework is adapted to the contents not the contents to the framework

Orchard puts the accent in composition principle, which is another way of pursuing extensibility and reusability. Through composition, the end user can define the structures in which the content should be stored instead of forcing them to fit the content to the structures defined by the system. Thanks to the composition principle followed in the Orchard design, the user can create new components or customise existing ones through aggregation of other subcomponents available in the system.

More info at www.orchardproject.net

Native Quality & Cost Effective Cross-Platform Apps is possible

There are three possible approaches when developing an application for mobile devices:

  • Web apps: No matter if the web app is in a remote server or it runs through a local container like Apache Cordova, the user interacts with the app through a browser.
  • Native apps: It allows us to have an app with better user experience and with more attention to detail than a web app. The problem is it is an expensive option because we need to develop a different app for each operating system (IOS, Android or Windows). Each app would be developed by a different team specialised on the framework and tools of each operating system.
  • Xamarin apps: Here we are allowed to develop a native app with the expected high quality characteristics a native app can offer, but using almost the same code for each application.

Mobile Web Apps: the low end alternative

The multi-platform approach based on web technology usually uses Apache Cordova as a local container for the app. This approach is usually considered a cheap alternative because you can harness the knowledge of a team with experience in web projects so you don’t need to invest in a third party technology. The problem for the developers is the difficulty in fulfilling the requirements for the user interface with pixel perfect precision because web technology does not allow it. Furthermore, users find these apps don’t follow the look and feel they are used to for the majority of available apps in the market place (native apps). Finally, browser based apps can suffer from response delays, making the user experience unsatisfactory.

Native apps: first class apps at an expensive price

Native apps allow us to provide high quality user interfaces where look and feel perceived by the users is just what they expect and what they are used to. The reason for this is that the technology used in these kinds of apps is specifically designed for the platform where the application is running. The big disadvantage of this alternative is linking investment to one platform. One solution is to develop and maintain three different native apps, one per operating system. This is a very expensive solution which, moreover, has further problems because of the need to coordinate three development teams, one per platform.

Xamarin apps: first class apps at a reasonable price

Fortunately, there is a third alternative for developing mobile apps.  Xamarin is a technology which allows us to use C# to develop native apps for different platforms: IOS, Android or Windows Phone. One team is able to develop a native app for each platform using same technology. In fact, it allows them to share almost all of the code between the different applications:

  • Native Views: this flavour is based on using the native technology offered by each platform to develop the user interface. Using this option we can have pixel perfect user interfaces while we reuse the rest of our app between all of the platforms. The disadvantage of this option is you still need to develop and maintain separate user interfaces for each platform (not the whole application).
  • Xamarin Forms: this flavour uses an abstract approach to allow developers to define the user interface once for all of the platforms. When Xamarin renders the interface it uses the native controls for each platform. This way the users can have the look and feel they desire. The problem is that pixel perfect design is not easy using this alternative, but Xamarin still provides an alternative mechanism to customise the rendering of a Xamarin control for each platform. So, when Xamarin Forms meets the prerequisites of the app, it becomes an even more cost-effective solution than Xamarin with native user interfaces.
More info at xamarin.com

The fastest embeded multiplaform database 

Siaqodb is a NoSQL embedded object and document database engine that currently runs on .NET, WinRT, Mono, Windows Phone, Xamarin.iOS, Xamarin.Android, Silverlight, Unity3D and even  CompactFramework. Siaqodb is used because it is fast, more so than SQLite and other embedded database engine. With the new storage engine of Siaqodb 5.0 it is even faster than Siaqodb 4.X in many scenarios and safer than ever.

More info at siaqodb.com

Decouple your solution from the underlying technology

Owin (Open Web Interface for .NET) could be considered the evolution of ASP.NET to the next level. It is an open source specification which describes a level of abstraction between a web server and the components of an application. OWIN provides an architecture based on plugins which allows .Net applications to determine exactly which components are needed, discarding those which are not necessary.

This not only improves the performance of the application, but it brings the possibility of running applications based on OWIN in different containers without changing the app: IIS, console apps, services. Indeed, now that the CoreCLR runs in Linux, these apps also can be executed in non-Windows operating systems like Linux.  OWIN helps to guarantee a long life to the applications developed following this standard.

You rule Excel, then you rule Business Intelligence

PowerPivot is a Microsoft add-in for Microsoft Excel that enables you to import millions of rows of data from multiple data sources into a single Excel workbook, create relationships between heterogeneous data, create calculated columns and measures using formulas, build PivotTables and PivotCharts and then further analyse the data so that you can make timely business decisions without requiring IT assistance.

Its low cost and integration with Microsoft Excel converts it into a product without competitors in the Business Intelligence sector where alternatives are expensive and do not integrate at the same degree with a well known tool like Microsoft Excel.

Cost effective Business Intelligence Dashboards

PowerBI and PowerBI Designer are powerful online services from Microsoft which allow the user to create dashboards, transform data, create impressive reports and visualisations and publish them for sharing through a range of devices such as PCs, tablets and mobiles.

More info at powerbi.microsoft.com