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

etc

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.


lunes, 1 de noviembre de 2010

I was in Google Lab BA


If you were in Gooogle Lab Buenos Aires you can enter your info here

And after download a native Android application and you will have access to all the twitter of the atendees.

http://mobile.genexusserver.com/YoEstuveEnGoogleLabBA/YoEstuveEnGoogleLabBA.apk


viernes, 29 de octubre de 2010

Android Developer Lab


Today at Artech we released the first bits for developing Smart Devices applications with Genexus, one of our main targets platforms is Android.

With this beta we can start creating some basic applications, because the Android Developer Lab haven't an official application for Android I created one in just 30 minutes using GeneXus.

It's quite easy, I create 2 entities (Session, Presenter) and apply the Work With pattern over them, after I created a basic dashboard for the application.

You can see who are the presenters and the times for the sessions. It was easy and fun.

If you want to install the application here you have the link and the QR Code just in case.






>































Smart Devices Generator for Android, BlackBerry, iOS

The Smart Devices revolution is a fact. The big players want to have a good position in this new world.

Apple, Google, RIM and the emerging WP7 seems to be the players. (Nokia is trying to maintain their site of the feature phone era but it’s quite complicated)

Every player needs two key components for success:

  • Awesome Devices
  • Awesome Applications

Creating awesome applications is our task, the developer task.

Creating an awesome application for reading a RSS on iOS, Android or Blackberry could be automatized with a Wizard, but creating the smart device complement of your Business Application is another challenge.

I think this challenge it’s impossible to achieve at a reasonable cost with traditional mechanisms of software development.

Create a business application today means at least:

  • Create the data and business layer
  • Expose the BL using some universal technology like HTML-CSS-Javascript
  • (Universality means multiple browser, multiple device)
  • Expose some use cases for several enterprise roles using native applications

Just the architecture to create this is a challenge, after you created the Web Application for example using PHP, you need to create a full Web API to be consumed by native clients, you need standard authentication mechanism, you need a security model, and you need to create several native clients taking into account the rules and styles for each device.

In Artech we have been working in a new generator for this new world. The aim of this generator is to allow create Business Applications and their Smart Device complement at low costs.

We strongly believe that the Ideas are platform independent, so we follow a Model Driven approach to create Smart Devices applications.

What kind of applications? Productivity applications.

Productivity applications have many challenges that we are going to focus on during the process of building the generator.

Today we are releasing the first bits of our GeneXus X Evolution 2 wich include this new generator.

I hope you can start enjoying creating applications with the Smart Devices Generator and spread your ideas in this new revolution.

http://www.genexus.com/xev2beta


miércoles, 29 de septiembre de 2010

Why I still buy paper books.

I think the Amazon kindle e-books metaphor still lacks many important aspects of real world books.

My point is: It’s in our nature LEND and SHARE books. So Amazon should let us do these things.

In general we LEND personal books like novels, adventures, etc. How many times we lend this kind of books? I think, no more than 5 times.

Then we bought books for the company, by definition we are going to SHARE this book, they are technical books in order to fill our library, I think Amazon hasn’t the concept of enterprise library.

So, when I have to buy a technical book, I have no choice, I have to buy the printed book so that everybody in the company can read the book.

I hope Amazon in some moment allows us:

- Loan a kindle book

- Share a kindle book using a virtual enterprise library or any other mechanism.

When I LEND a book, the book should be removed from my personal kindle.

When I have the book in a library for SHARING everybody with library access can read the book.

The digital world has advantages that we can use or not, in the meantime we still have to buy paper books.