Slingboards Lab

Achieve a sense of fulfillment

We are building our mobile app with Xamarin.Forms

Sixteen months ago, I wrote on this blog that if a startup has to build a mobile application, the entrepreneurs should never go native. At the time, there were only three options for building a mobile application:

  • Build three different native applications: Native apps are specific to a given mobile platform and are built using the development tools and language that the respective platform supports (e.g., Xcode and Objective-C with Apple iOS, Eclipse and Java with Google Android, Microsoft Visual Studio and C# with Windows Phone).
  • Build an HTML5 application: HTML5 apps use standard web technologies—typically HTML5, JavaScript and CSS. This write-once-run-anywhere approach to mobile development creates cross-platform web page that work on multiple devices by mimicking the native user control behaviors.
  • Build an hybrid application: Hybrid apps make it possible to embed HTML5 apps inside a thin native container. Hybrid apps combine the best elements of HTML5 app but, unfortunately, they do not provide a native user experience.

Since last spring there is a new option:

  • Build native applications with Xamarin.Forms: With a C# shared codebase, Xamarin.Forms is a cross-platform development tools that enable to easily create user interfaces that can be shared across Android, iOS, and Windows Phone. The user interfaces are rendered using the native controls of each the platform, allowing to retain the appropriate look and feel for each platform.

xamarinThe option proposed by Xamarin seems very promising, especially since this company is not a newcomer. Xamarin was founded in 2009 by the instigators of the Mono project. Xamarin.Forms is the result of five years of work to build a cross-platform natively backed UI toolkit abstraction for mobile development. This is a serious player in the mobile arena. In fact, last week they held their annual conference in Atlanta. With over 1,200 registered developers, the event was not only sold out but also the largest cross-platform mobile development event.

Why all the interest about Xamarin? Probably because there is a growing awareness in the industry that when it's time to write a mobile app -- something interactive, not just a document with some hyperlinks, the Web is a second-class option. I was not surprised to read this week that Tim Bray lamented that the mobile apps are leaving Web work in the dust. The reality is quite simple, native rendering is important and the three major mobile platform vendors (Apple, Google and Microsoft) are embedding this feature in their proprietary operating system not in the open Web browser.

For those of you who follow this blog, you know that in recent months we have repositioned our startup and that we are currently building a personal task planner for smartphones. Following the above arguments for Xamarin, what development tools do you think we chose to build our mobile app? The very nature of a startup is that you have little money and need to be super fast on the market to validate your assumptions (and discover that you're wrong). On the other hand, because the apps are the natural structure for mobile experience, I think native rendering is mandatory. So there is only one logical choice. Do we think that everything will be perfect and really easy with Xamarin? No, but we are confident that in the next 12 months we will not regret our decision. Anyway, if Xamarin proves unsustainable and our product is a success, then we should have the resources to rewrite the application with another option.

Why Slingboard will be an hybrid app?

In this post, I explain why at Slingboards Lab (my new venture), we have decided to build an hybrid mobile app instead of a native or HTML5 app.

I said in the past and I will say it again: the tablet is a completely different platform than the PC and in this sense it has its own natural structure for UX experiences.

Each space has a natural structure, which is an organizing principle that helps people form a mental model of how they think about and navigate that space. Rooms are the structure of homes, neighborhoods and streets are fixed structure of cities, aisles are the structure for most stores, and Web pages are the structure for Web sites.

The natural structure for the PC experience was the desktop and accompanying folder/ file system. Influenced by notions of containment and place, this structure allowed people to traverse their personal file systems with ease. Within the PC platform, applications are often relegated to the role of a secondary actor. Files are the stars of the desktop experience, whereas applications are merely the tools that make files.

In contrast, within the tablet platform, applications are the star, making them a natural structure for mobile experiences. In fact, we can summarize the tablet experience as a list of “native” apps. Disappointing by its simplicity, this minimalist approach has proven effective. Tablet application marketplaces also reinforce the app as the natural structure for mobile experiences. A tablet platform’s value and popularity are largely attributed to the depth and breadth of its App Store portfolio.apps-ipad

Nowadays, the main challenge for organizations is to develop mobile applications. However, we no longer control the mobile platform in use. Tablets are provided by individuals according to their personal preferences. Some will bring Apple IOS devices such as the iPad while other will arrive with Microsoft windows 8 tablets or with Google Androids tablets such as the Amazon Fire. This diversification of mobile devices would not be a handicap if there was a single programming model to build native apps. Unfortunately, this is not the case. Native apps are specific to a given mobile platform and are built using the development tools and language that the respective platform supports (e.g., Xcode and Objective-C with Apple iOS, Eclipse and Java with Google Android).

If developers want to avoid writing three different mobile applications, an alternative is to rely on the open web and create HTML5 apps. HTML5 apps use standard web technologies—typically HTML5, JavaScript and CSS. This write-once-run-anywhere approach to mobile development creates cross-platform web page that work on multiple devices. While developers can create sophisticated apps with HTML5 and JavaScript alone, the vital limitations remain that this application is not visible as a native applications. The user must first start the browser application and navigate to a web pages to reach the application.

A third alternative is to create an hybrid apps. Hybrid apps make it possible to embed HTML5 apps inside a thin native container. Hybrid apps combine the best elements of native and HTML5 apps. With  the  rise  of  mobile  platforms, “native”  has  come  to  mean  an  experience  more  than  the  underlying language and runtime circumstances. That is, the new reality is that you don’t have to  write  an  application  in  Objective-C, Java or C# in order to have a native app.  With the appropriate container and a mix of CSS plus media query, the same Javascript application can target all the most important mobile platforms (Apple IOS, Google Android, Microsoft Windows 8).

So, if you are a young startup like Slingboards-Lab, should you go native, HTML5 or hybrid? Faced with this fundamental issue, I must acquiesce with Stephen Forte: A startup should never, ever, go native. The very nature of a startup is that you have little money and need to be super fast on the market to validate your assumptions (and discover that you're wrong). On the other hand, because the apps are the natural structure for mobile experience, I think opting for an HTML5 app is a mistake. So there is only one logical choice; the hybrid app.

This thinking explains why we have chosen to build Slingboards as an hybrid app. We are working hard and soon we will be able to share with you the results of our discovery. Stay tune.

What is a slingboard (part 2)

(Go to Part 1) Slingboards Lab mission is to bring your team at your fingertips. Through the provision of slingboards, it brings sticky notes to smartphones, tablets and the web for empowering teams to better collaborate.

A slingboard ensures teammates are always in sync. It provides real time feedback to everyone involved in the whole process. It highlights the flow of work and what is being done.

A slingboard allows instant access to the workflow. Remote and teleworkers can easily collaborate with their colleagues in teal time.

Here is a video that explains what is a slingboard

Because the tablet layout have the appearance of the original yellow stickies, learning to use a slingboard is simple. The familiar sticky notes essentially became the user interface. Team members can quickly embraced this new technology.

A slingboard increases accountability and positively influence the behavior and attitude of team members . Teammates define and choose their own work instead of having work assigned to them. High visibility and clear guidelines ensure teammates cannot hide work (or non-work) from each other. They know that at any moment, if they want to, they can, with zero overhead and without causing any discomfort to anyone, see exactly what everybody is doing. Boards tend to expose the flow, but it is done with ground rules that people find quite reasonable. Thus, accountability is achieved in a harmonious way because it boils down to the individual responsibility of updating the board. This builds transparency among team members, which in turn builds trust.

What is a slingboard (part 1)

My company, slingboards Lab, aims to provide a platform to build slingboards. A slingboard is a visual tool that guides collaboration between teammates by using sticky notes. It brings sticky notes to smartphones, tablets and the web for empowering teams to better collaborate.two-dimensional-grid

A slingboard appeals to teammates who are dissatisfied with outcomes from shared accountability. It helps teams who need better results and want more commitment from teammates. It provides teams with visual aids that align individual responsibility with teamwork.

A slingboard is a two-dimensional grid. The most important item in a slingboard is the columns because they are the ones that make it possible to visualize the workflow. The aim is to move each sticky note from column to column to accomplish the workflow. The rows are used to group and organize the yellow stickies in a logical manner. If we expect to have only a few stickies then it is possible to have a single row without any grouping.

factory-order

Slingboard is great for teams that need to complete a business process. The picture above shows how to transform the workflow of a factory order into a slingboard. Each column represents a state in the workflow. A column expresses an explicit rule that transforms the collaborative work into a sequence of individual responsibility.

pinningAn important feature that simplifies the board layout is visually pinning a status tag to the sticker. This status tag is used to visualize issue that is not directly associated with the value-added steps displayed by the columns. Pinning creates visibility and awareness and allows the right people to react quickly to that new status. A visual alternative to pinning is creating special columns that fulfill the same purpose. While this is valid, and many people do it, we prefer pinning to expose that something is going wrong, or not happening. Board real estate is expensive. If you start creating special columns for each status a sticky note can have, you might quickly fill the board with empty zones.

A slingboard reduces frictions by making explicit the “invisible” knowledge. It shows information teammates care about such as:

  • It identifies the flow of work and what is being done;
  • It helps understand and indicate priorities;
  • It highlights when something is going wrong or not happening;
  • It cuts down on meetings to discuss work issues;
  • It provides real time feedback to everyone involved in the whole process;
  • It allows to see whether performance is met.

Slingboards apply to any domain. As soon as teammates need to work together to accomplish a workflow a slingboard becomes useful. Here are some examples:

  • Factory:  it can help to optimize maintenance work order;
  • Manufacturing: it can help salesmen to get involved with accounts receivable collection;
  • Recruitment firm: it can help to monitor candidate;
  • Financial institutions: it can help tracking the investment process.

(Go to Part 2)