Presenting our first Windows 8 App (beta)

A few weeks ago I blogged about Windows 8 Metro Style App Development. Today almost all functionality in my App is complete and I’m ready to share some information about it.

App UI

The App called Viltolycka has a very simple UI, and all you have to do is enter a From Address and a To Address. The App contacts Bing Maps and asks for the route between the two locations. When a route has been calculated it is drawn on the map. At this point a request is sent to viltolycka.se with information about the entire route. Our API responds with a collection of wildlife accidents that has happened along the route.

Accidents from Vimmerby to Stockholm

Ok, the design is not quite complete.

All accidents are added to the map. A pane on the right side displays data about the route and more interestingly some facts about the accidents along the route.

Accidents around Södertälje

By zooming and moving the map around you can learn about the more dangerous parts of the route.

Accidents around Södertälje

The image above shows a location around Södertälje where a lot of deer and elk accidents has happened in the past. So, what you can learn is that you might want to watch out when driving at that location.

The Next step

I will continue to work on some design elements with my colleague Kim. After that we will send the App to Microsoft Sweden for testing. Our main goal is to ship this app on or before the public release of Windows 8.

Windows 8 Metro Style App Development

In the middle of September 2011 Microsoft released Windows 8 Developer Preview and Visual Studio 11 Developer Preview. We were (as usual) very quick to begin testing. We deployed the products on Hyper-V and since then we have been testing the new development features on Windows 8 and also a lot of our own product testing on the new platform.

On February 27, 2012, Microsoft released a Consumer Preview of Windows 8 and Visual Studio 11 Beta. A lot had happened since September and this time we also started developing Windows 8 Metro Style Apps. These apps are very different from the traditional WinForms Applications. They demand more considerations to form factors and capabilities.

My first Metro Style App

My first Metro Style App for Windows 8 is not nearly complete but nevertheless I’d like to share some details about it.

Since last summer we have developed Mobile Apps for iOS, Android and of course Windows Phone 7.5 for our customer Rikspolisstyrelsen (Swedish Police Board). The apps focus on giving the user insights about wildlife accidents in the users’ proximity.

image

image

So with this background I thought I’d develop a Windows 8 App that utilize the same data. The App named Viltolycka contains a large map that is centered on the user’s location, using the Geolocator class. The user can pan the map and when he/she taps on it, a signal is sent, with the tapped location, to our servers that responds with Wildlife Accident data containing the accident location and what kind of wildlife that was hit by the car. All accidents are then rendered as Pushpins on the map.

image

image

As you can see, I haven’t focused on design that much yet. But my fine colleague Kim will most likely be involved in that part.

Closing comments

Developing for Windows 8 is a lovely task. It’s much more straightforward than iOS development, which is kind of a pain sometimes.

We will keep working on this Metro Style App and maybe a few more and we will surely have some cool stuff to show off at the launch of Windows 8 (if not much sooner).

SiteFactory CMS on Microsoft SQL Server 2012

Microsoft released SQL Server 2012 to manufacturing a few days ago. It will go on sale in the beginning of April, but as a Gold Certified Partner we have already gotten our hands on it. Microsoft SQL Server is the database engine that we use for our products, such as SiteFactory CMS and Dirigo.

We have deployed SQL Server 2012 on a virtual server to perform compatibility tests with our main product SiteFactory CMS, and the only thing we had to change was the Compatibility Level in our SiteFactory CMS Installer, to be able to create the database. When this was changed, everything went smooth. No surprise there.

So the conclusion is that SiteFactory CMS works like a charm on the newly released database server. It’s great to work with Microsoft technology, as we rarely run in to any compatibility issues.

The year 2012 will be an interesting year with the upcoming release of my favorite products; Windows Server 8 and Visual Studio 11 (and of course the newly released SQL Server 2012).

All our Web Servers run Windows Server 2008 R2 with SQL Server 2008 R2, and we will begin upgrading them to SQL Server 2012 soon.

Visual Studio 11 beta - First impressions

Yesterday Microsoft released Visual Studio 11 beta. Eager to install it on my production machine, I finally came to my senses and installed it on a virtual machine instead. My first impression was the sexy installer.

image

Much cleaner UI

The user interface is much cleaner and I love the new icons.

image

image

I haven’t begun testing .Net Framework 4.5 yet, but I’ve read a lot about it and I will start testing it with our products soon.

I’m really excited by the new version of Visual Studio and I look forward to installing it on my production machine.

Mindbite just released an Android App

A few minutes ago Mindbite released its very first Android App. This is of course celebrated by our little Plushie “Andie”.

image

The App is a port of Viltolycka, previously released for both Windows Phone 7 and iPhone. It’s developed in Java using the Eclipse IDE. For this project we had to transform all features to the Android Design Guidelines, and we think of it as quite the success.

The Design

It contains three views; The Map, The Accident Reporting and The App Information. We used the design guidelines for Android 4 (even though it’s released for Android 2.1 and above), and found inspiration for the navigation pane.

image

The navigation pane holds the three views. The first area is considered the most important and contains the map where accidents are displayed along your route. Therefore we made it wider than the other two.

image

The Map

The map displays your current location and at given intervals it connects to our Web Service at www.viltolycka.se and asks for accidents nearby. If accidents are found they are displayed on the map. If three or more accidents are found nearby, the app will sound an alarm.

The Project

The Viltolycka project is driven by Rikspolisstyrelsen (Swedish Police Board). Mindbite has been involved with development for this project for over two years now. Since the start we have delivered a website with a back-end system for managing all wildlife accidents in Sweden. The system serves about 7 600 user accounts.

In august 2011 we released the first App for Windows Phone 7. In October we released the same App for iPhone. And now we have also released an App for Android.

The App for iPhone has been downloaded about 6 000 times. The Web Service that provides accident location data has served over 800 000 requests since December 2011 (approx. 2 months).

93.31% mobile phone coverage

Now that the App is released for iPhone, Android and Windows Phone 7 we reach 93.31% of all Swedish mobile phones.
Source: StatCounter GlobalStats (Mobile OS, Sweden, January 2012). iOS (61.91%), Android (31.2%) and Windows Phone 7 (0.2%).

Download the app here

Microsoft Cloud Partner - Office 365

image

As of December 2011 our company Mindbite is a certified Microsoft Cloud Partner (in addition to our Gold Certified Partnership). That means we are authorized to sell and service Office 365.

With Office 365 you get online access to the following major Microsoft products:

  • Microsoft Exchange
  • Microsoft SharePoint
  • Microsoft Lync

Migrating your e-mail accounts to Exchange gives you access to your e-mail on almost any device. Received and sent mail is also synchronized over every device. So if you send an email from your phone, you can see it in your Outlook client on your computer (PC or Mac).

Sharing calendars within your organization is also very easy. It works great in your Outlook client and also in the Outlook Web Access.

With SharePoint you can share and work with Office documents. All documents are accessible in both your Office applications installed on your computer, and also in the SharePoint web application which you can access from the web browser.

Microsoft Lync is a powerful system for communicating within the organization. From the Lync client you can start and attend conferences and share information like your screen or a Word document. If you have a microphone and/or a video camera you can communicate with voice and video.

All data like mail, calendars and documents are stored in the Cloud, so you won’t have to worry about backups. And the best thing, is that Office 365 is very cheap.

If you are interested in how our company can help you migrating to Office 365, you are welcome to contact us using this link. We are professionals at Office 365.

Strange behavior in HttpWebRequest (.net)

For the moment I’m working on a project with the Swedish Police, building an Adapter for an existing data application. The adapter that I’m developing communicates with a SOAP Web Service hosted on Apache. The data that is received is then transported back to the existing application. Quite the simple task, if it wasn’t for a very strange behavior in Microsoft .Net.

The SOAP Web Service requires authentication and if authentication fails it responds with a 401 error.

So I wrote this code and thought it should work.

image

As soon as we called a method in the Web Service, it responded with the 401 error. So I set the property PreAuthenticate to true.

image

That didn’t work either, so my first thought was that something must be wrong with the Web Service, or that I had been given the wrong credentials.

After a few hours of searching various forums I finally found the solution. Apparently the authentication is not added to the Http Header (as it should have been). So the solution was to subclass the Web Service class and implement some additions.

image

With this code in place, it’s now possible to add the authentication header to the Web Service.

image

image

Finally the call is authenticated and I received data from the Web Service.

Isolated Modules in SiteFactory CMS 5

About two weeks ago we released a new major version of SiteFactory CMS. One of the main features is “Isolated Modules”.

The Isolated Modules functionality is a great leap from our traditional way of developing modules. They work more like “Apps” in modern cell phones. They can utilize all functionality that exists in the core library, and other parts of the system can read information from each module.

What is Isolated Modules?

Every module has its own configuration file. The configuration file can be filled with module specific settings. It also defines the appearance of the module in SiteFactory CMS. The module can also contain CSS- and JScript files. When the module is loaded into the system, it collects and implements any found CSS- and/or JScript files.

Web forms and translation resources are also packaged within the module and are structured as defined in the configuration files. Since each module has its own translation resources there can never be a collision between system translation and module translation. An Isolated Module can easily be packaged and deployed in any SiteFactory CMS implementation. Since every part of the module is very structured it’s easy to write deployment scripts. From the Developer Central in SiteFactory CMS we can manage every Isolated Module and deploy them on the site.

When developing an Isolated Module, you often need to get configuration values, translation resource values and other module specific data. So we developed a base class that every module can inherit from. The class knows exactly which module the developer is working with and therefor it’s easy to work with the module.

image

Some examples

image

GetConfigurationValue reads from the specific module’s configuration file.

image

GetTranslationValue reads from the module’s translation resource. The module is aware of the current user’s culture and picks the value from the correct translation file based on that culture.

These are just two of many module-related functions and methods that the system provides to the developers.

Widgets can also be developed for each module and the widgets get the same possibilities as the Web Forms, to read its module specific information. When adding a widget to a module, the Dashboard automatically discovers it and makes it available for the users.

Why do we call it Isolated Modules?

As you have read, this kind of module comes with their own forms, css, scripts, settings and translation resources. Even though they can consume assets from the entire site, they are also very isolated. A module cannot ever read information from another module by accident. For instance, when a translation resource is requested in a module, the system only looks in that particular module.

Security

Security settings are configured in each module and these settings are read by the system so that the administrators can allow or prohibit users from accessing whole or parts of the module. By default, only administrators can access modules.

Closing comments

The way we develop modules in SiteFactory CMS has always been one of our most powerful features. With the Isolated Modules we made them even more powerful. Existing modules at out customers' sites are not to be considered out-dated, they are only developed in a different way.

The new functionality gives the developer a more manageable way to develop modules as every asset is placed in a better structure. An isolated structure.

We release SiteFactory CMS 5.0

Yesterday we officially released a new major version of SiteFactory CMS. It was announced at a seminar a few weeks ago, when the attendants got their hands on the new version.

image

Main focus when developing the new version

In this version we focused on scalability, speed optimization and providing an even greater user experience.

Scalability

Mindbite Core Foundation Server, which is the core system that SiteFactory CMS is built upon, is extremely scalable. By using special configuration files we can inject new views at any location in the system to extend the functionality in a customer’s installation. All added content and functionality automatically connects with the core security system so the owner can apply permissions for the new content.

This is however not a new feature, it has in fact been there since the first version (and improved in several versions back). In SiteFactory CMS 5.0 we improved the scalability by creating Isolated Modules. The Isolated Modules works like Apps in modern cell phones. They can utilize all functionality in the system but they have their own configuration files for settings and security. They also have their own resources and translation files. Widgets can be developed and packaged with Isolated Modules to bring information to the Dashboard.

Speed optimization

In every new version of SiteFactory CMS we try our best to improve its performance. This time we found a new way to optimize the public website. In most cases the loading time was improved to twice as fast as before. In one scenario it improved the loading time by 1600 %.

Greater user experience

Our focus has always been to provide a user-friendly UI/UX. SiteFactory CMS 5.0 has got a complete overhaul in both the interface and the structure. A new menu system gives the user a better overview over the system. It’s both easier to work with and to find what you’re looking for. These changes also gives us the ability to create even larger customer systems.

The first thing the users see when signing in is the brand new dashboard. For the moment all installations comes with six widgets displaying information about the system and their websites. Further widgets will be deployed later on. Widgets can also be developed for each customer.

Deployment

All SiteFactory CMS customers will, as always, get all these new features.

We will start deploying SiteFactory CMS 5.0 to customer sites this week. The new version will be deployed to every site automatically through our Update Service.

Closing comments

You can expect further posts with more detailed information about the new version.

We’re now a Microsoft Gold Certified Partner

For the last two years our company Mindbite has been a Microsoft Silver Certified Partner. This year we focused on attaining gold status, so as of now we are a Microsoft Gold Certified Partner in the Independent Software Vendor competency.

As stated by Microsoft:
“These partners have access to the latest Microsoft technology and can build, deliver and support innovative software solutions to meet an array of business needs. Many are experts in building Microsoft SQL Server data management solutions, Microsoft cloud-based technology solutions and solutions based on the Windows 7 or Windows Server operating system.”

_MG_5656

_MG_5661