Posts categorized “User Interface”.

End User Programming for Mobile Apps

Mobile Apps
Jean Bézivin (@jbezivin) (see slide 4 here) has a great slide about how the number of world-wide professional developers grows linearly respect to time, and at the same time, the need for software grows exponentially.

Mobile application is a specific market where the explosion for new software are more demanding than never before.

The obvious conclusion, we as developers are not going to be enough to cope with the demand without improving our productivity in orders of magnitude and/or lowering the entry barrier for non-programmers to create applications.

You know, probably it is me as an MDD/MDE practitioner could be biased, but to my best knowledge, I strongly think that Model Driven Engineering is in an excellent position to play crucial role in both worlds:

  • For professional developers: to provide tools to provide such productivity improvement.
  • For end users: to provide tools as easy as possible to allow non-programmers to solve their common tasks.

 

Today, let’s talk a bit more about end users: why an end user would like to develop an App?

  • Because is something I want, or I like.
  • Because is cool.
  • Because is easy (should be easy, let’s say doable for the average person).
  • Because is cheaper than asking someone else to develop it for me.

 

Personal Apps

A Personal App is an application tailored to a specific customer and needs. Maybe it will have only one user (as a RSS and content aggregator for day to day consume like videos, music or posts) or be shared among friends (like a birthday application or a shared travel experience). Company apps, catalog of products, specific content about music, TV or films are high popular on markets.

 

Windows Phone App Studio

In this context, the tool Windows Phone App Studio released two days ago by Microsoft is a great step forward in this direction enabling final users to create their own apps: Personal Apps.

With-in a three or four step wizard, the user is able to select a template for the application, define, change or refine the contents, and select the layout and colors. No technical questions, no programming skills, just the minimum set of questions required: less is more in this contexts. In 5 minutes the work is done and the application ready to be deployed to the device.

See this 5 minutes video:  Windows Phone App Studio Introduction

Windows Phone App Studio provides the ability to generate, compile and deploy the app directly to the user phone with a download initiated by a QR/BIDI code, or to download the source code for a developer to extend, change and customize the app.

 

Native code

Many app builders focus on HML5, JavaScript and tools like PhoneGap/Cordova. This approach has advantages in terms that provides a common JS core code to do cross-platform to many devices at the cost of non-taking the advantages of the native development: best performance, take advantage of the device unique features and APIs, and better battery management. For the problems of JS on mobile development see this great article/essay: Why mobile web apps are slow.

If you are a developer, you will be productive with the tools you know, of course. But, definitely if you can afford code generation do it: a native app will excel its JS counterpart.

 

Quality by Design

Another great key feature of a code generator for end users apps is about hiding a huge pile of technical details. Very huge, trust me. If you want to develop from scratch a new mobile application for a phone and put it in a market, you should consider many, many factors:

  • Compliance with the UX, style guide of the device
  • Margins
  • Colors
  • Behaviors of the application
  • APIs for accessing all the features
  • Things allowed in the market, things that are not allowed
  • Etc.

For our own experience in Radarc, passing the Windows Phone Store Certification to create our first App took us 5 iterations of one week each. Now, a well-fine-tuned code generation can produce the code right on the first run saving a lot of time, and therefore, saving money. Of course, there are other constraints like the content to be adequate and not offensive, this is for sure a human task, but the generator solve the other 95% issues.

 

To sum up: Very, very happy with the team work so far. Congrats to all the involved in the creation and launching of Windows Phone App Studio.

End user programming is not a new term, but hey! new tools are over the table. Let’s see how people react and what they can build with it. Enjoy!

 

Modelling the User Interface, the video

The recording of the Code Generation 2011 session about ‘Modelling the User Interface’ is finally available online at InfoQ.

For further details take a look to the slides and Conceptual User Interface Patterns.

During the video you can see a pair of demos:

  •  Essential on action doing full UI inference and code generation
  • and IO, the codename for a new proof of concept UI specification and WYSIWYG prototyping tool.

Code Generation 2011: a personal review

Once again, back home after the most exciting till date edition of the Code Generation conference in the latest years. The co-allocation of the Language Workbenches Competition has been a great incentive to attract all of us to join and present alternatives to a great challenge in the domain of modeling and code generation.

In this long post, I want to share my personal view about these days, and for sure, take note it could be partial and subjective. So, be kind to review also the comments as seen by others like Johan den Haan, Markus Völter, Angelo Hulshout, Marco Bambrilla, or Mariot Chauvin to cite a few and more expected to come. Find the majority of the pointers at the http://modeldrivensoftware.net

In this edition, the conference has been deeply covered via twitter using #cg2011 and #lwc11

As expected, I will be only be able to comment about the sessions I personally have attended. Running three tracks in parallel always force us to choose one and miss two other great sessions.

More… »

Getting ready for CG2011

Code Generation 2011 is the leading European conference on modeling and code generation. It’s a great opportunity to meet with the experts in the field and share the latest research in the area.

The invited speakers this year are very, very interesting:

As a novelty, previous to the conference itself the first edition of the Language Workbenches Competition will take place on May 24th in the same venue.

In this edition, I will be there again, more active if ever, taking part with some activities:

As always, I’m looking forward to meet again the code generation community.

Take a look to the full programme and don’t miss the chance.

See you in Cambridge!

Experimental user intefaces: 10/GUI

I’ve seen this video by C. Miller (via microsiervos) and I liked the idea a lot.

10/GUI from C. Miller on Vimeo.

The technology needed to put this in practice is already invented. So, I hope to see these kind of things in production in the near future…