One of the main factors that people want today from a software product is that it must look good.
Fancy curved interfaces with gradient fills and nice colors are IN, but how do they do it? and most important, how can we do it?
Fortunally design guidelines and theories give us a clue of how this artisits do their tricks.
But there is still something missing. Why do I need to learn HTML, XHTML, CSS, XML, and many many more dialects for make some text and images look good?
My proposal is graphic and web design for mortals. It´s possible to make editing tools that focus on information and the layout, instead of implementation details.
A first step in this direction was CSS Playground (now published at planetsourcecode.com), a program I made for my multimedia students to show them some things about CSS. But from this prototipe, I really believe that a tool that focus on Information Architecture has more future that another WYSIWYG script editor.
Tuesday, May 6, 2008
Thursday, April 3, 2008
It's dev-olution baby
First programs I made, were using Turbo Pascal 5.5. Console output, even when I tried to code some GUI support. The same think happend with assenbly, C and C++.
At some point C++ mixed with Borland/MS support for windows promised the desktop era, but code was a mess; to much libraries, to many techniques, to many considerations about pointers just to show a window or a widget.
In Smalltalk everything changed; the UI was part of the enviroment, but anything you want to do was restricted to that microcosmos.
At some point I met with VB and 4GL. The UI paradigm changed radicaly; less useless efforts trying to fix and understand technical issues.
And then, Java appeared. And console was great; UI applications need some IDE support, and web...well it was HTML mixed in the output methods.
Now some proposals promise to save the day, but Javascript is too messy, and ActionsScript seems to be splited between designers and programmers; even server side solutions like PHP, Asp.NET or Ruby still need to consider to many details in order to make development easier.
But it seems that things are about to change.
At some point C++ mixed with Borland/MS support for windows promised the desktop era, but code was a mess; to much libraries, to many techniques, to many considerations about pointers just to show a window or a widget.
In Smalltalk everything changed; the UI was part of the enviroment, but anything you want to do was restricted to that microcosmos.
At some point I met with VB and 4GL. The UI paradigm changed radicaly; less useless efforts trying to fix and understand technical issues.
And then, Java appeared. And console was great; UI applications need some IDE support, and web...well it was HTML mixed in the output methods.
Now some proposals promise to save the day, but Javascript is too messy, and ActionsScript seems to be splited between designers and programmers; even server side solutions like PHP, Asp.NET or Ruby still need to consider to many details in order to make development easier.
But it seems that things are about to change.
Tuesday, March 11, 2008
The lost code?
I still have some 5 1/4 and 3 1/2 floppies with some homeworks and early projects. Maybe a 70% is Turbo Pascal code and the rest C/C++.
Last tinme I made a backup, I saw a lot of toy examples. Some from books, and some from my head. The typical tiny program began with a problem sentence, and the coded solution was an algorithm. But in the middle there was the problem of the user interface. So the classic solution was to code a text menu with numbers to entre the options. Then someone came with one of those big "bible" books, were an author explain more less the trick to code some popup & pull down menus. Wow, that was really something.
But one of the first serious problems were the graphics. I remember one of my teachers asked us for a parabollic throw simulator. So the equations were easy, but because of the lack of technical info, I did it in text mode. Not bad, but looks ugly.
Then, when the group reacted and we started to plan about making some code library, a new language appeared: assembly.
Life is too short to program everything in assembly language, so a nice technique was the binding of macros in a library to use it with other languages.
And then came C/C++. Even with the power and speed of C, I remember that time was easely lost trying to find syntax errors and memory leaks. Even when C++ improves the logic, is hard to master it. The mother of my university projects: a Pascal compiler. One whole week programming day and night. And the best of all: it works.
And when Smalltalk appeared on scene, everything was beautyfull (all except my hardware). Great develoment enviroment, great power of expresion, and a networking simulator was completed in 3 days, without debbuging.
So, for some people toy samples may be a waste of time, but they reflect the essence of what it makes a good programmer: practice.
Last tinme I made a backup, I saw a lot of toy examples. Some from books, and some from my head. The typical tiny program began with a problem sentence, and the coded solution was an algorithm. But in the middle there was the problem of the user interface. So the classic solution was to code a text menu with numbers to entre the options. Then someone came with one of those big "bible" books, were an author explain more less the trick to code some popup & pull down menus. Wow, that was really something.
But one of the first serious problems were the graphics. I remember one of my teachers asked us for a parabollic throw simulator. So the equations were easy, but because of the lack of technical info, I did it in text mode. Not bad, but looks ugly.
Then, when the group reacted and we started to plan about making some code library, a new language appeared: assembly.
Life is too short to program everything in assembly language, so a nice technique was the binding of macros in a library to use it with other languages.
And then came C/C++. Even with the power and speed of C, I remember that time was easely lost trying to find syntax errors and memory leaks. Even when C++ improves the logic, is hard to master it. The mother of my university projects: a Pascal compiler. One whole week programming day and night. And the best of all: it works.
And when Smalltalk appeared on scene, everything was beautyfull (all except my hardware). Great develoment enviroment, great power of expresion, and a networking simulator was completed in 3 days, without debbuging.
So, for some people toy samples may be a waste of time, but they reflect the essence of what it makes a good programmer: practice.
Friday, February 29, 2008
In the begginig: school days
First time I get interesed in computer programming was in the 80s after been exposed to films like Tron and some teen hackers dramas. However in Mexico it was hard and expensive to get a computer and tech literature. Someone in high school made us a promise about to have a computer lab, but that promise vanished with time.
It was before I entered to college that I had the opportunity to take a programming course using Pascal. It was great, but the problem of not having a computer and the software to practice tended to end the dream.
But when I started in college, one of the requisites was to have a compuer in home, so I sold my electric guitar to help my mothey to buy the computer. It was a i286 with 1 MB RAM and 20Mb of HDD. And it supported me for 5 years. It was a real advantage to have it at home to prectice; those were long productive nights of trials and errors, but is the only way to learn. We started using Turbo Pascal 5.5, a great tools considering it fits in a 720 kb floppy disk, and the IDE, help and examples were all there.
Some other languages appeared in scene: C, x86 assembly. A paradigm shift was the introduction of C++ and my first contact with Smalltalk. My computer started to have some difficulties to load this enviroments. Then came Prolog and Lisp. And by 1993 the Windows 3.1 started to spread and some interesting DB and A&D tools appeared.
Lots of code lines were written in those days. What happened to that code?
It was before I entered to college that I had the opportunity to take a programming course using Pascal. It was great, but the problem of not having a computer and the software to practice tended to end the dream.
But when I started in college, one of the requisites was to have a compuer in home, so I sold my electric guitar to help my mothey to buy the computer. It was a i286 with 1 MB RAM and 20Mb of HDD. And it supported me for 5 years. It was a real advantage to have it at home to prectice; those were long productive nights of trials and errors, but is the only way to learn. We started using Turbo Pascal 5.5, a great tools considering it fits in a 720 kb floppy disk, and the IDE, help and examples were all there.
Some other languages appeared in scene: C, x86 assembly. A paradigm shift was the introduction of C++ and my first contact with Smalltalk. My computer started to have some difficulties to load this enviroments. Then came Prolog and Lisp. And by 1993 the Windows 3.1 started to spread and some interesting DB and A&D tools appeared.
Lots of code lines were written in those days. What happened to that code?
Etiquetas:
assembly,
C language,
programming,
school days,
Turbo Pascal
Tuesday, February 26, 2008
What is codink?
CoDInK is an acronym for Communication of Data, Information and Knowledge. It's a temptative for my future company. But deep inside is a way of life.
I love to write; I wrote a couple of thesis works in my academic life, but I don´t know how to write a novel. However, I know how to write software and turn ideas into interactive entities that people can play with or use for learn or work. It's an expression using the art & science of computer sciences.
The future is always a surprise, but somebody has to make it happend.
That is codink, and here I will be writing about turning ideas into software or something else. Yes, a little tech words will appear, but experience and innovation will move the fingers in the keyboard.
I love to write; I wrote a couple of thesis works in my academic life, but I don´t know how to write a novel. However, I know how to write software and turn ideas into interactive entities that people can play with or use for learn or work. It's an expression using the art & science of computer sciences.
The future is always a surprise, but somebody has to make it happend.
That is codink, and here I will be writing about turning ideas into software or something else. Yes, a little tech words will appear, but experience and innovation will move the fingers in the keyboard.
Subscribe to:
Posts (Atom)