What's next?

In a couple of days, my job at Dassault Systèmes will come to an end. I finally took the decision to leave the company to entirely focus on personal projects.

I spent 6 months as an intern doing technological research: I developed a prototype for interactive painting and sculpting on 3D models. I learned a lot from research papers and from my mentor, Marc Helbling. I got more familiar with the concepts behind 3D edition software.

Then I joined the SwYm team as an employee for a year. SwYm is social web for companies, it is an online product aiming at changing the one-way relation companies have with their customers and employees. I was doing various front-end work, I lead the Wiki project and was responsible for Search related functionalities (and thus could more recently use Exalead technology). We were working in a very flexible environment comparing to other teams. Technologically speaking, the website used Javascript intensively for its dynamic layout, I learned a lot about this.

Unfortunately, I couldn’t find motivation in my every day work, it’s hard to explain why but mostly because I didn’t share all the decisions. I had too much ideas for other projects in mind. I took the decision to leave the company and come back to a more uncertain life.

In the next months, I will focus on personal projects: websites, mobile apps, art… one thing at a time (because I suck at multi-tasking). I will blog my updates very regularly at labs.steren.fr (blog coming soon) and also post results here.

You will learn more on these projects very soon. I plan to adopt a very open working attitude, and I rely on you, my followers, my readers, to give me advice, feedback, ideas or even to join me. If you are curious, I invite you to subscribe to my newsletter or to connect with me on the Internet.

If one project goes well, this adventure may lead to the creation of a company. But one thing is certain, for me, being entrepreneur is not having a twitter account and hacking on a website.

Improv and beyond

I’ve been practicing improvisational theater for more than three years now. It’s a hobby for me, and of course I don’t have the tenth of the knowledge and talent of my original teachers from Et Compagnie. But I will try to describe in this post what improv means to me.

As you may guess, it’s pleasant to have fun on stage entertaining the public, it’s pleasant to invent spontaneous stories while acting unpredictable characters. All this is true.

My team and I on stage, photo by Maxime Storn (http://mstorn.net/)

But improv is so much more and it has faces I think many people don’t even think about. For me improv means to

  • listen to the others,
  • think fast,
  • trust the team and be able to rely on them,
  • be inspired, have imagination and get ideas,
  • remember and take into account what has been said and settled before,
  • build uppon this and never destroy it,
  • listen and accept new things brought by others,
  • express clearly, be understood and transmit ideas efficiently,
  • assume failure and suckiness,
  • not be affraid by an uncertain and unpredictable future.

All this are things improvisers work on when they train. When correctly applied, they facilitate and make everything run well.

I encourage you to consider it next time you assist an improvisational theater show. And of course, I encourage you to give it a try. Finally, you may guess that all these principles can easily be extrapolated in real life.

Native applications are doomed

I take this for granted, but I realized many people are not aware of this change: Native applications are endangered species.

By native application, I mean any application intended to be run on the user’s computer that does not use web technologies. And by computer I don’t mean only the good old dektop computer. We have seen a proliferation of devices that can now be considered as computers: laptops of any sizes, smartphones, tablets, navigation systems…

Our relation to these computers has change over the previous decade: we use more than one computer everyday, and they are all connected to the same network named the Internet.

Here are some points that lead me to conclude native applications cannot survive in this environment :

1 Diversification of operating systems

I don’t think I’m mistaken if I say that all these computers will never share the same OS. Today developers of mobile applications have to face the same problem than with the desktop: what OS to support ? For one given platform, focusing the development for a specific OS is simply reducing the number of targeted users. Supporting a large number of operating systems has a real cost and duplicates efforts.

Choosing to build an application that runs with standardized web technologies assure you that anyone accessing the Internet with a recent browser will be able to run your application. Browsers are the new operating systems, and they all almost share the same API.

2 Web technologies gain power

Advanced functionnalities of web application are coming with HTML5 specifications. They are specifications pushed forward by the industry that need them and don’t want to rely on external proprietary solutions (such as Adobe’s Flash).

  • An online application does not necessarily require a constant Internet connection. Most of the application operations are done client-side (using Javascript). Structured data is exchanged with the server but can also be stored in a local data store and thus provide an offline exprience.
  • Advanced graphics animations are completely possible. And real time 3D  could even be used with the upcomming WebGL technology.
  • Video and sound are as simple to use as images.
  • Browsers also expose new types of information such as geolocalisation.

In the end, web technologies have the potential to be used for everyday tasks. We may wonder if heavier professional software can also be created using web technologies. Personally, I have no doubt that they could.

Of course, we will assume that users who use online applications will use a modern and standard compliant browser. I think the attractiveness of these apps is strong enough to make the user change his browser for something up to date.

3 Many computers implies simpler administration

If you multiply the number of machines the user has to care of, it is logical that configuring them should require less time than today. However easy it may be, installing a software should be considered as too much.

With web based applications, first access require only one single step : launch the application by following its URL. And no need to upgrade in the future: the deployment of a new version of the application is done instantaneously. Corrections can be done on the fly and it is not needed any more to wait for the user base to upgrade by themselves.

4 Freedom

Application Stores gained in popularity recently. They may pose a threat if they are the only way the user can install applications. In that case, the distribution is controlled by a single totalitarian company who can decide what can be distributed and what cannot.

The story of Google Voice on iPhone points out this issue and the power of modern web based application: Google’s application wasn’t accepted on the Apple Store, even after negotiation, so Google just came back a few months later with an online mobile version of Voice fully powered by HTML5 technologies. Google does not hesitate to claim that however successful they seam to be, app stores are not the future (consider that they also have their own store with Android Market).

However, App Stores brought the idea of giant directories from which user can choose his applications and discover new ones. This is in what I think they will evolve in the future, proposing links to web applications.

In the end, it may just be sad for fortunate developers who succeeded in making money by selling stupid applications that people would never have bought if they where online.

Conclusion

What was still a supposition for me four years ago is now a certitude: Computers will only be access point to the web, everything we will need to use will be online, be it Data or Applications and it’s coming faster that I would have imagined.