Thursday 22 July 2010

Once upon a time

Recently I realized that I'd like to improve my Adobe Flex knowledges but, I can't start coding... how do I do that? I like doing things in the right way, I mean in a formal and systematic way, with the rigor of engineering.... There is a step before... so I decided to start the Flex Development Guide. Well, I like doing things in the right way, but I really enjoy defining the right way in which things should be done.

So, which tasks should be defined in that guide? In which order? I can't start defining the guide... there is also a step before: I need a development process. I think we are on the right way; it could be a great to define:
  • A generic, technology independent development process.
  • Many development guides, one per technology. Each one would extend the development process to set and define the tasks for a specific technology.
OK, we can't start coding. We may start defining a development guide for a concrete technology, but it should be interesting to start defining a developmet process. So, we can start defining this development process, can't we?? No, we can't! How shall we do that? We need a process modeling language! So, let's start designing it.

If you ask somebody: "how would you start telling a story?" We're sure that he or she would answer "Once upon a time...". But, what about software development? Where do you need to start? Coding? Defining a development guide? A process model? A metamodel?

If you're interested like me in doing things in the right way and defining the right way in which things suold be done, I recomend you to read the paper by Tao Xie "A linguistic Study of Process Modeling Languages". It's an interesting study about process modeling languages paradigms and its features. We'll talk about it in detail soon.

Taking the process modeling concepts and phases in that paper, I'v just started writing a Procedure which intention is to specifiy the steps for process modeling, beginning with the process modeling language definition. You can find it in my personal site, at http://sites.google.com/site/josemartinezbenavides, in the IT > PM section. I hope you to take part!

"And they lived happily ever after."

Today's questions:
  • How is your experience in process modeling? What steps did you follow? Did you begin defining the process modeling language?
  • What do you think about defining a generic and technology independent development process? What do you know about MDA?
  • What are the differences between a business and a development process?

Wednesday 14 July 2010

RIAs: beginning the Adobe Flex Development Guide

Some years ago, a friend told me about something called 'Flex'. I must tell you that I'm talking about Adobe Flex, because then I thought he was talking about Flex, very nice for language processing, but we aren't interested (at this moment) in defining regular expressions for deterministic grammars; I'd like to talk about developing RIAs, Rich Internet Applications, that kind of web applications with a great look and feel, seeming to be desktop ones.

There are other technologies, like Silverlight or JavaFX. I have seen some examples of the first one and It left me a very good impression; I have programmed a simple application with Java FX and I think It's not very mature... I don't have much time for investigating, so I'll ask you here your opinion. I have learned many things about Adobe Flex and I find it very interesting. If you don't know this technology, It's worth to take a second to visit the flex store sample application.

Further than simply (¿simply?) learning a new technology, I have always been interested on optimizing and systematizing the development process with that technology, and constructing an architecture that minimizes the effort for programming the required funcionality and providing cross services to satisfy non functional requisites easily.

Well, recently I had the idea of writing a development guide for Flex; this way, I think I will also improve my knowledges about this technhology. I'll like sharing this experience with you, and I ask you to join and participate actively, asking your doubts, making suggestions and correcting my mistakes. The purpose of the Flex Development Guide is to define the steps for perfoming all the tasks in the development of an Adobe Flex application, from the requisite specification to the deployment in a production environment. And much more, like the steps for preparing a workstation for a developer. It's quite ambitious but I'll do it step by step and with your help, I hope.

I think this guide will be interesting for people...

  • Who is starting to learn Flex, beacuse It should allow a person who doesn't have Flex knowledges to develop a Flex Application easily.
  • Who has some knowledges about Flex, because It should give them a global sight of the development process and suggest them best practices to be added to their development process.
  • Who knows Flex very well, because it should help them to systematize the steps for the development of a Flex Application.

All this stuff sounds great. I'm wondering know if I will be able to achieve someting similar to this... Well, these are the goals at this time, let's try to achieve them. I have just published a first version at my site: http://sites.google.com/site/josemartinezbenavides/, in the IT / Dev / RIAs section. This document is almost empty; it just describes the configuration of a development workstation. The last section of the guide is called weaknesses; there I'll write down some features that should be improved.


Regards!


The questions:
  • The technology: Is Adobe Flex the best alternative for developing RIAs?
  • The IDE: Do you know an open source IDE for developing Adobe Flex applications? Do you think we could build one?? In that case, what technology will you use for developing a Flex development IDE? Flex too??

Hello World!

Hello, I'm Pepe and this is my first blog. I called it "Pepe talks about IT" because I found nice this play on words for a blog in which I'm going to talk about many topics of Information Technologies... And, if you're interested in this kind of topics, you'll probably know why I called the first entry "Hello World!"...

First of all, let me tell you a little about myself: my full name is José Martínez Benavides and I live in Seville (Spain). I obtained the Computer Engineer degree at the University of Seville in 2006 and since them my professional carreer have been linked to software engineering. I feel very lucky about that because I consider myself a software engineering enthusiast (for example, becoming a member of an engineering association and subscribing to specialized magazines).


Why have I created this blog? Because I need to share my knowledge and tell my ideas about the Information Technologies. I don't consider myself an expert at all, but an enthusiast (as I mentioned before) who would like to talk with and learn from people with the same interests.

Well, this has been the introduction. I'm sorry if my English isn't very good... please don't hesihate about correcting me. I hope you to follow this blog (I recomend you to use a blog reader) and to participate leaving your comments. You can contact me sending a mail to josemartinezbenavides at gmail dot com and maybe you'd like to visit my site at http://sites.google.com/site/josemartinezbenavides/.

Regards!


The question: what impressions do you have about this blog after reading this entry?