jueves, 22 de diciembre de 2011

My Cute Baby

In October I had a new baby. Facundo is my third child, Cecilia and Santiago complete the pack.
I guess anybody with at least one kid in these times had collected thousands of pictures of their baby. It's normal; what isn't normal, it's to have a summary of the first year of their lifes in pictures.Having this summary allows you to do at least two things:
  • Explore the collection of photos looking for representative ones for each moment. (First day, second day, first month, etc)
  • Don't bore your friends showing them thousand of pictures, instead just spend two minutes showing a small book in your phone or tablet.
Another thing that commonly arises when we have more than one child is comparing them at the same stage of their lives. How did Santiago look when he was one month old? Did he look the same as Facundo does now?

These are questions that only photos and one special application (like My Cute Baby ;) can help you to respond.

The birth of Facundo comes with the birth of a new generator for Smart Devices, because of that I decided to make an application for Smart Devices (iPhone, iPad, Android, Blackberry) that implements these personal needs.

Smart Devices Generator RC is almost here for creating these kind of applications easily; personal and productivity applications can be created with GeneXus in record time.

The generator is here, it is powerful and easy to use, at the same time it is extensible, so let's go and start creating a personal application even if your friends tell you the application has no sense. Good ideas have a lonely childhood.

Some screenshots of my application
Yes, you can create Flipboard like interfaces with the MagazineViewer user control of GeneXus!

Yes, you can have nested grids (one with a ViewPager for the moments and a nested grid with your kids for each moment)

You can change, fonts, colors, backgrounds, paddings, borders, margins, images, etc using a declarative theme for your application. So, no excuses for a bad design.

My Cute Baby soon in the store of your choice ;) Thanks to GeneXus!

Update: It's in appstore http://itunes.apple.com/app/my-cute-baby/id491111984?mt=8

jueves, 5 de mayo de 2011

Google IO 2011 Feedback for Android

Google IO is almost here, I was in the 2010 edition and there were lot of cool stuff .

Google IO as any big conference has many things we like and some things we don't like.
For example in the 2010 edition

I liked food
I didn't like the lack of punctuality
I liked the Nexus One
I liked the HTC 4G
I liked HTML5 Demos


I would like to know (I suppose Google too) what are the most liked things in the conference.
Additionaly I would like to capture some moments directly from our Android devices.
So at the end of the conference we could know what are the most liked stuff and in some way give feedback so we can improve the Google IO 2012.

In order to capture all this feedback during the event I created an Android application using GeneXus.

It is called Google IO Feedback

You can download it directly from de Android Market and start giving feedback and capturing your moments during the event.

Basically you can say: I like food, or whatever. People can vote on things added by others. People can tweet their feelings. People can take pictures, etc.

Actually there are test data, on sunday I'll erase all the data so that we can start adding real stuff.

miércoles, 16 de marzo de 2011

Smart Devices era and Model Driven Development

Yesterday we released the Beta 2 of Genexus for Smart Devices, the focus of the previous beta was give away the posibility to create simple native applications, taking into account internally the main stones of the architecture.

In this post I'm not going to talk about the features in Beta 2, I want to talk about something that happens each time we create a new generator.

Look this,

After the beta 1, there were 40 ideas in our team to create samples using the beta, only 7 applied to be developed using the beta.

In Beta 2, 33 applied, we still have to work in terms of aesthetics but this will be the focus for the next iteration.

Why in Beta 1 even simple things couldn't be created? Why in Beta 2 we still have some missing features that seems to be esencial an easy to implement ?
Because our way to develop software is different, we focus on the model first and after we generate code.

In the Windows era, in the Web era and now in the Smart Devices era, the same thing happens, there is a clash between two models of development, Model Driven vs Manual Programming.

In this new era we are again using a Model Driven approach.

In the smart devices era in order to create a full application you need to create a data access layer, a service layer (usually REST), a integrated security layer, a service layer on the device (I mean data services, notifications, caching, etc) and finally a native user interface layer.

Even looking a just one of this layer creating the layer many times it's difficult.

I think that creating this kind of applications in one or many third generation languages give developers a lot of power and it's possible to create an application and probably you could handle 1-10 projects with the same team, but handle thousands of projects it's almost impossible.

There are many tools focused on simplify the task of writing code in different languages, so you can write code in JavaScript or C# instead of programming Objective-C or Java. These tools can be very useful in the short term, but at the end of the day you are at the same abstraction level than in a third generation language.

How all this code is connected with the reality, where is the knowledge? The knowledge is the code, this is a bad thing.

We as developers know that the complexity of building software is growing and growing and we still are discusing in terms of Java vs C# or Objective-C vs Java or whatever.

Grady Booch said:

"The Entire history of software engineering is one of Rising Levels of abstraction (abstraction is the primary way we as Humans deal with Complexity)"

We in Artech in each technology wave tried to raise the abstraction level, and this process take a while, in each wave sometimes it takes more time to see results, but our goals are clear:

We will have productivity applications as people want, but we are not thinking in 1-10 applications we are going to give away a tool and language to create thousands.

The first results are here with Beta 2, but stay tunned and wait more.

domingo, 13 de marzo de 2011

Diego Forlan, Zairanara & Genexus Smart Devices Generator

Yes, I known what's the relationship between the elements in the title?
Well first of all Diego & Genexus are 2 products from Uruguay!

Diego is the most famous uruguayan soccer player and was the mvp of the last world championship.

Genexus is one of the most known application generator from Uruguay.

For this new Smart Devices era, Artech is creating a new Smart Devices Generator in order to create applications in an easy and different way.

Creating applications with Genexus for Blackberry, iOS (IPhone, IPad), Android is really easy.

In our first beta of Genexus, we released a sample of MyWedding, an application where you can share details of your wedding with the world. In the first beta I included information about my wedding, in this second beta I changed the information because Diego & Zaira annouced their wedding using Twitter.

So now, Diego & Zaira have a simple application where people can follow their tweets using native applications for Blackberry, Android and iOS.

You can download the application from here for Android & Blackberry. iOS is going to be in the AppStore soon.