Mario Cardinal

"The real voyage of discovery consists, not in seeking new landscapes, but in having new eyes" – Marcel Proust


Leave a comment

Tap into the “slideshare” traffic potential

If you can write short, readable, engaging content you qualify to publish slide decks onto slideshare. Slideshare is a web slide hosting service. It enable users to publish and share public presentations in a social-networking environment. Slide decks can then be viewed on the site itself, on hand held devices or embedded on other sites. For over two years, I am using Slideshare and more than 16k viewers watched my slide decks so far.

Even though all my energy is focused on Slingboards Lab, my start-up company, I still need to earn money to support my family and pay the bills.

Last week, I spoke at a privately held conference organized by DevTeach. I presented two sessions:

  • HTTP Fundamentals for Developers
    HTTP is the protocol of the web, and in this session we will look at HTTP from a web developer’s perspective. We will cover resources, messages, cookies, and authentication protocols and we will see how the web scales to meet demand using cache headers. Armed with the fundamentals about HTTP, you will have the knowledge not only to build better Web/Mobile applications but also for consuming Web API.
  • Best Practices for Architecting a Pragmatic Web API
    This presentation teach how to design a real-world and pragmatic web API. It draws from the experience I have gained over the years being involved architecting many Web API. This presentation begins by differencing between a Web and a REST API, and then continue with the design process. We conclude with the core learnings of the session which is a review of the best practices when designing a web API. Armed with skills acquired, you can expect to see significant improvements in your ability to design a pragmatic web API.

I took the opportunity to update my slide decks on my slideshare:

http://www.slideshare.net/mario_cardinal

I am pleasantly surprised at the visibility I get through Slideshare. slideshare-stat
In total, more than 16k viewers watched my sessions. Alone, my session on Web API got over 14k viewers.


Leave a comment

Experiment with a new mobile OS every year

Herbert A. Simon (Nobel Prize – 1976) was interested in the role of knowledge in expertise. He was the first to say that becoming an expert required about 10 years of experience.  He and his colleagues estimated that expertise was the result of learning roughly 50,000 chunks of information.

Malcolm Gladwell highlighted this rule in his book, Outliers: The Story of Success. He states that men and women who have spent more than 10,000 hours to learn something end up being out of the ordinary in this area. In the same vein, regarding software development, Scott Hanselman recommend to ‘’read lots of code and lots of books, pick a language that fits your brain and helps you learn how to think, and when you do think, think about abstractions.

How do you become an expert in architecting mobile applications? Understanding of UX interaction patterns is a key learning for sure. You could read books (and you should) but do not underestimate first hand experiences with real devices. I firmly believe that, of the 50,000 chunks of information to acquire, the most important are the actual experiences with mobile OS. Every year you should experiment with a new mobile OS.

I used to change phones every 6 months. From the initial launch of the iPhone in 2007, I moved to IOS and I have been an enthusiastic user for many years. In 2013, having learned everything I needed to know about IOS and in a need for a phablet, I moved to Android. Last year, I wrote about my experience with a 7-inch tablet Android as a phone.

lumia1320Nine months ago, at the beginning of 2014,  I have migrated to Windows Phone. My current phone is a Nokia Lumia 1320. I am extremely pleased with this 6 inches device and I love the Windows operating system. I agree with Scott Hanselman Windows Phone 8.1 is now definitely as good as Android or IOS.

I would have kept this phone for a while longer, but, unfortunately,  I will changed for an iPhone 5 in the coming weeks. For the upcoming months, I will  thoroughly test the Personal Task Manager that we develop with IOS8. Since we expect that the vast majority of our customers will use IOS8, I want to ensure that the user experience will be perfect. In addition, this will allow me to experiment and update myself with the latest functionalities of IOS8.

So do not be surprised if you see me these days with an old iPhone 5. One day, I will be back with a Windows Phone.  In the meantime, my focus is the good of my product.


Leave a comment

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.