Tuesday, November 30, 2010

Using an event script with differents components

There will be times when we will need that a group of components to share an event script because it could be easier to code in that way, allowing us to reduce the code and contributing to make it more understandable.
I was remembering for example when I was programming in visual basic and in that language I made use of a feature named "controls array", where a group of controls did share the same event code. This was very nice and i was thinking how to implement such a thing in Hummingbird, so I produced a simple and effective solution using regular expressions
I changed the script engine so that it now looks for an event script using regular expressions:

But ¿ what does this mean ?
it means: every time an user put the mouse pointer on a component (onRollOver Event) named samples14_1 or samples14_2 or samples14_3 or samples14_4 or samples14_5 then execute the following code associated to the event...
This will reduce the code needed and will make it easier to read.
Maybe you are asking yourself how will i know what object triggered and event ? that's simple. Every event's script receives a parameter called 'me', which is a reference to the object that triggered the event, and an 'id' parameter which is a string with the ID of the object.

have a nice day. :)

Friday, November 19, 2010

Some pics of la Serena

like you know, i am living on La Serena, Chile. This is a beautiful city, and for that reason i want to show you some pics of it.
When i am not coding or designing software i love to take a ride on my old car, swimming on the beach, watch the sunset, and eat some chinese food, because the life is not only work ;) . So if some day you travel to La Serena maybe we could meet you each other.

Improvements to the video component

i was thinking in possible improvements to the video component and i have finished the coding of the following features:

- now the video component has support for video with alpha channel: this allow you display video with transparent backgrounds. i think is a cool feature.

- i have added two new methods to the control:
autohide_controls (true/false): if you use this method with true, then when the user put the mouse pointer over the video component, the controls (play button, stop, etc.) will appear, and when the user moves the mouse pointer out of the video component the controls will disappear.
and when is used with false, the controls will be always visible.

show_controls(true/false): allows you hide or show the controls (play button, etc.).

- now the component shows the played time and the total time of the video.

Wednesday, November 17, 2010

FAQ for hummingbird

I was thinking that a faq (frequently asked questions) is a good way to respond some questions that you could have. So here is:

¿ what is hummingbird ?
Hummingbird is a powerful online cms (content management system)

¿ but what is a cms ?
in simple words a cms is a software that allows people to create and update a website easily. In the particular case of hummingbird this is a online cms because all the work is made only using a web browser, so you don’t need to install any other program on your pc.

¿ will I need to create an account to use it ?
yes, prior you can use hummingbird you will need to create an account, and then all the pages you create will be associated to your account.

¿ will I can to control who has access to my pages ?
yes, hummingbird allow you to control who have access to your pages, because on the control panel you can add users to a list associated to a page, with distinct types of permissions, and the users could be granted to visiting or copying a page. There is an especial user called anonymous who is interpreted like any user. So if you grant the anonymous user to visit a page any user could see it (visit the page)

¿ what is the copying permission ?
the copying permission allow you to grant an user to copy a page to his own account and then he or she could make changes to the copied page, adapting it to his/her necesities. This is the way the users can share their pages with others. In Hummingbird there is a searcher to find pages granted to be copied.

¿ has hummingbird a control panel ?
yes, it has a control panel. And it is the place where you create a page, delete a page or start the editor (for editing the page).
On the control panel you can see and delete your uploaded resources (images and videos). And you have access to your account info.

¿ could you tell me about the designer ?
The designer is the place where you will build your pages, this is a powerful wysiwyg editor, thinked to be easy to use and make you feel comfortable with it. This was possible because hummingbird uses an ajax type technology. That allow it Improving its communication speed, its interface usability (there is no need to load the whole page when accessing data on the server, eliminating so the unpleasant flickering that you see on common web pages), making you feel like if you are working with a desktop application.

¿ will use my web pages this ajax type technology with all the advantages that it provides ?
yes, every time someone visit a page, the page will use this technology when need it.

Ok, but tell me more about the editor.
Initially, when you creates a new page and you get into to the editor, you will have a blank web page, using the editor you will change your page putting on it differents components or widgets from a toolbox. The components could be superposed, you will can move o resize every component on the page very easily using the mouse, every component has a properties window associated to it, where you could change its properties like colors, text, image, transparency level, border lines, shadows, etc. etc.

¿ what are the built in components offered for the editor ?
Hummingbird has build in components that you can use to build your web pages. These are the video component (to show your videos), the text component (allow you to show text with differents font styles, colors, etc.), image (to show pictures on .jpg, .png with alpha channels, or animated flash images. you can make that a text or image works like hiperlink.
Other component you find is the comments panel, and the page panel. this last one is a powerful component because it allows you to embed a page inside other page. Every component has properties, methods and events associated to it, in such way that you can controll it programatically using a powerful scripting language.

¿ what can i do with the scripting language ?
with the script language you can control every properties offered for any widget on your web pages, for example the color, position, size, data inside the widgets. additionally you could call to the differents methods on a widget. The script language is very complete and we could write a complete book about it to show all the possibilities that it offers to you. inclusive you can draw shapes 'on the fly' with it.

¿ and if I need some widget not offered for hummingbird ?
Hummingbird has supports for others widgets, and you could make your own widgets for it. I think this is a very important feature because allows the modularity and allows make expandable the widgets offered for hummingbird.
In hummingbird a widget is not an isolated entity. A widget offers properties, methods, and will fires events in response to user interaction. the page's designer could write an script to respond to some events fired for a widget, he or her could control the widget programmatically, or a widget could communicates with other widgets or components on the page, or send/receive data from remote services. this is a very powerful concept. The widget´s designer will decide the way a widget communicates with others components.

¿ could be a hummingbird page embedded inside other page ?
of course, you can embeding in other page using for example a div or iframe tag.

¿ why the name hummingbird ?
I choose this name when i was taking a ride with my girlfriend on my old car. i was parked in front of a forrest, talking with her when did appear some of this birds, flying speedy, with beautiful colors, i was watching it for a while and then i was thinking of that the software must be like this birds, speedy, beautiful and plenty of color.

Friday, November 12, 2010

Looking for a partner

At this time, Hummingbird has come to the point where it's ready for testing with users, but i face some questions:

1. I need someone that supports the project with web hosting. The web hosting must have the following features:
- asp.net
- sql server 2000 or above
- high speed
- big disk space
if you take into account the resources that will be used on the hummingbird's site (videos for example) you will understand why the need for high speed communication, and for similar reasons you will understand why is needed a big disk space.

2. To hummingbird begins to fly, the project will need that any project needs: funds.
3. i have many ideas on my mind for hummingbird, but i will need graphics designers, programmers, someone to write the e-manuals, etc. for take this ideas to reality. but these professionals costs money.

At this moment i am looking for a partner ideally from USA, that help the project to get the following:
- review any mistake in the text of this blog.
- get a web hosting with the above features (this is a primary need at this time).
- must have a good contacts network, for a good network i mean the partner is on contact and be able to convince to important people of the software's market in USA about the importance of the project on such way we could get funds, support on marketing and diffusion of the project.
- the partner would be ideally someone who has participated sucefully on software ventures, self-motivated, with high communication skills, able 'to sell' the project.
- the partner will be in charge of the creation of the business plan.

¿ why could be interesting for someone invest on Chile ?
i want to invite you to read the following article on techcrunch:
investing on chile
and this other one:
startup chile

so ¿ what can i offers to you at this moment ?
on the economic nothing for the moment. But if the projects become a big success, you will share the profits with me.
I have been working on the project since January 2008 completely for free, i think this show in some way my compromise with it, and i am completely convinced that hummingbird has the needed to be a successful software, so if you are dispose to take risks like me. maybe you and i could make that hummingbird begins to fly and make the next company that rocks the internet.
If you have the needed, then send me a resume and tell me about you and your contacts network.