Author: Manuel Lemos
Posted on: 2011-10-31
Categories: New site features, Lately in PHP Podcast
The other topics they cover are about the possibility to serve PHP-GTK applications over the Web, the eventual migration of PHP development to Git, the optimization techniques used by Amazon Silk Browser that will come with Amazon Kindle Fire tablet, and how to get more exposure to PHP developers work by contributing innovating components.
Download Size: 23MB Listeners: 2581
Introduction music: Harbour by Danilo Ercole, Curitiba, Brazil
RSS 2.0 feed compliant with iTunes:
In iTunes, use the Subscribe to Podcast... item of the Advanced menu, and then enter the URL above to subscribe to this podcast.
Amazon Silk browser announcement
Offer to get help migrating repositories to Git
Article about Getting More Exposure to Innovative PHP Developers
PHP-GTK Applications Running on a Web Browser (0:50)
Amazon Silk Browser (13:03)
PHP 5.4 Release Date (22:22)
PHP Development Migration to Git (27:06)
More Exposure to Innovative PHP Developers (41:06)
PHP Programming Innovation Award nominees of August 2011 (47:56)
Manuel Lemos: Hello, welcome to the Lately In PHP Podcast. This is episode number 17 and as always I have as my co-host Ernani Joppert. Hell, Ernani, how are you doing?
Ernani Joppert: Hello, Manuel. Hello, everyone, I'm glad to be back, lots of things to talk about today and we share with you guys a good sum of information today.
PHP-GTK Applications Running on a Web Browser (0:50)
Manuel Lemos: Well, we are going to start talking about one article that was released just a few days ago. Actually it was an article that I have written about a topic that in the beginning was not really related with PHP.
Basically it talks about GTK which is a library of objects used to build user interfaces usually for desktop applications. And there is a PHP extension that can use GTK to build desktop applications with PHP.
And that extension's name is PHP-GTK, and using that library it benefits from one of the latest enhancements of the GTK library which is basically to be able to send the display, the windows that an application opens to a web browser that supports HTML 5 canvas objects.
Basically what it does is instead of opening Windows in a local desktop environment it starts a Web server that listens to a certain port and given local IP address, and it takes HTTP connections to that port and once a browser connects to it, it receives a response that will render a page with canvas objects inside and that canvas object it starts rendering the user interface of an application that is actually running on the server side.
And this is interesting, although it is not yet available for the PHP-GTK current version because it only works with GTK 2 version. Once the PHP-GTK is updated to work with GTK 3 it will be able to take advantage of this possibility of sending the display of a PHP-GTK application to a remote machine over the Web.
And this opens an interesting new possibility, although for now it's just a possibility, but it is quite interesting because it is yet another way, a different way from the traditional way of developing PHP web applications that provide rich user interfaces.
And with this new way, well, we'll still have to see if it will be actually supported because it requires an upgrade to the PHP-GTK library, but if that happens we'll have to see if it will have some adoption at least in certain environments.
Ernani, did you read the article? What did you think about this new possibility to generate user interfaces and serve them over the Web using PHP-GTK?
Ernani Joppert: Yes, I've read the article two days back and it was very, very interesting, especially because most of the interfaces existing in the Linux, possible in the GNOME user interface is based off of GTK. And I assume that this can open a broad topic and most likely Qt libraries could also benefit from this approach.
Manuel Lemos: Actually Qt is a different toolkit and it's totally unrelated with GTK, so unless the developers of Qt, which nowadays is Nokia, take us the same direction it will not go that way.
Ernani Joppert: Yes. And it goes far from the past with the applets approach which doesn't perform very well, especially because of the flickering of the UI's and everything, but GTK is more I guess visually conceited, it's better in my perspective.
And we could see rich applications running on those platforms if they go into that paradigm. And it would be very nice to see this happening. And as well as with a Qt it opens a broad topic on the subject, and we could see more rich applications coming forward by benefiting from the existing underlying technologies of client applications or desktop applications.
Manuel Lemos: Right. I think I'm not sure, I did not see this in practice, actually I tried to see the examples that were displayed on the video provided by the developers that show basically GIMP, which is an image manipulation program very similar to Photoshop but is open source.
And since GIMP is based on GTK I was wondering how it would run in practice because we only saw it demoed in the video. But unfortunately I could not find a distribution, a Linux distribution, that already has GIMP built with GTK 3.
Actually I think at least in Ubuntu it already comes with GTK 3, but the applications themselves are not built with that version, they are built with GTK 2. But it seems in the upcoming releases of these Linux distributions that come with GNOME libraries that they will be built against the GTK 3.
But what I was wondering is what kind of traffic it would require to exchange all the information between the browser and the server to render a regular desktop. I assume since most of the graphics just lines and regular shapes like rectangles and other types of shapes that constitute usual user interfaces, it probably will not take much information to be exchanged between the browser and the server.
Ernani Joppert: Exactly. Yes, and one of the common technologies out there existing today like Citrix and other ones like Flash and some underlying technologies on the browser like Java applets, if you use VNC you have a web version of VNC that you can run within your browser, most of those applications that do e-meeting throughout the Web basically use these kinds of technologies.
Manuel Lemos: Yeah, but VNC is quite heavy because it transfers the graphics already rendered on the remote machine.
Ernani Joppert: Exactly.
Manuel Lemos: And I expect that this approach of GTK with Broadway backend, which is the name of the backend that sends the display over canvas objects to a browser that supports HTML 5 objects, I suppose that it will not send whole graphics already rendered.
Well, I'm not sure, maybe for the first refresh of the screen it will dump the whole graphics that are rendered for the windows, but subsequent updates probably it just sends some commands that render the graphics instead of transferring the whole graphic data, graphic sections like the VNC does.
Ernani Joppert: Right.
Manuel Lemos: And we all know that VNC works but it's still slow, it takes a lot of bandwidth and that is probably a solution that will not scale very well if you need to serve users, many users, for your applications. Well, at least this is just an interesting approach to solve an interesting problem of providing rich user interfaces.
Ernani Joppert: Yes, and it's very good to see other open source approaches to these kinds of technologies, not just rely on Java or Flash. Having another technology coming through, it could be very beneficial.
Manuel Lemos: Yes, and well for now we have to wait and see because we still don't know if PHP-GTK will ever get attention to be updated because I think at least in the last years it was somewhat forgotten. I do not see much development going on on PHP-GTK nowadays because it's not the strongest market of PHP. PHP is more used for web applications.
Ernani Joppert: Yes and the whole software development world is pushing through to the Web, right.
Manuel Lemos: Yeah. Well, this approach is still over the Web but we still don't know if it will be compelling enough to attract developers to go that direction but, well lets wait and see and eventually any limitations that are found trying this approach which is still very new.
Ernani Joppert: And strongly encourage those developers to keep going, right, and make sure that the PHP-GTK team checks on this and try to help, and we vouch for that, we hope that this comes true.
Manuel Lemos: Like I was saying, I do not see much of a team over there now, but we'll have to see is there anybody that works on that extension to come back and see the interest on this possibility. Well, let's wait and see as I said.
Amazon Silk Browser (13:03)
Manuel Lemos: But moving on with the podcast, another interesting happening, something that was announced just a few weeks ago and despite it's not PHP specific I think it would be of interest of everybody that works on web related development, and it is the announcement of the Amazon Silk browser.
As you may be aware Amazon is about to launch their Android based tablet, the Kindle Fire, which is very different from the other Kindle models because it is not only a touch based tablet, but it also is based on Android which is not the case of the previous models of Kindle.
And this is very interesting for many reasons, we already know that it will be sold for a reasonably low price which makes it a very competitive product, but the part that matters for us developers is this announcement that they will use a different browser from those that we are used to handle in our work with web applications.
This Amazon Silk browser is basically a browser that from what I understood from the announcement video it will sort of use a proxy running on the Amazon cloud that will serve the pages that are requested by the browser.
So it will eventually provide faster access to the pages because, as you may know, Amazon has a CDN, content distribution network, and this means that they have proxies around the world very close to the different regions of the world where the users may be accessing the Web.
So, given that this proxy will cache those contents, not only the pages that are frequently requested but also pre-cache the actual files that a page will need, and with this possibility the expectation is that it will provide a faster user interface than other browsers.
Actually this is somewhat similar to what Opera already provided since many years ago which is basically sort of a proxy that pre-fetches the content that it knows that the browser will need. Ernani, did you look into this approach, what did you think about it?
And I have a Blackberry and I've seen that the browser within Blackberry it doesn't, at least in the version of the OS that I have never closes so the browser's always active, which somehow has in my concern some sort of optimization like that.
And hopefully they will come up with an idea of having also some specific processing power to optimize the tablet experience since they have the WhisperNet connected 24 hours a day directly with the device it can benefit from this.
And as everything is under the control of Amazon it makes more sense to see that they will make improvements also within the communication which currently most if not all of those tablets, those existing tablets in the market, relies on operators and carriers all over the world.
Manuel Lemos: Yeah, well it's another interesting development that we have to wait and see if it will make a difference. From what I understood this is probably yet another compelling reason to push developers to host their applications on the Amazon cloud services, especially if this new Kindle Fire tablet becomes very popular, which is something that is very likely because Amazon is subsidizing the sales of the tablet by selling it at a very low price, it is expected to cost around $200.00 which is quite a good price for a dual core device.
It's still a 7-inch device but it's probably the ideal size for many people, and they also plan to have a 10-inch device if they see demand for it. And it seems the tablet world is maturing very quickly because so far we only had iPad dominating the market, and competitors hardly caused an itch to Apple iPad sales because they basically sell very similar devices about the same price, so there is little difference between iPad and its competitors.
But in the case of the Kindle Fire it probably will make it very popular because of its low price, and it's very likely that it will promote the massification of the tablets that at such a low price will eventually sell a lot more than iPads are selling now.
And the reason why Amazon is subsidizing the Kindle Fire is because they'll eventually make up with sales of content being those either books, music or videos that they already sell in the Amazon site, so I think this is quite a clever approach.
But back to our main concern which is the PHP developers, probably we need to think again when we decide in which cloud provider we are going to host our applications because if, as I said, if Kindle Fire becomes very popular I think hosting it in Amazon Cloud will provide greater advantages in terms of speed of serving our sites' pages.
Well, this is yet another interesting topic that we need to keep an eye for the upcoming developments.
PHP 5.4 Release Date (22:22)
Manuel Lemos: And with this in mind we are going now moving on to the following topic of this podcast which is basically talk about the latest developments in PHP itself.
Well, just a few days ago PHP 5.4 beta 2 was released. It was released on October 20th, but they only announced it in the site of PHP on October 26th.
And well this release has nothing special to talk about. Basically it is a release that introduces mostly bug fixes, but still it is important to mention because after this release many developers will want to know when PHP 5.4 final version will be released.
And the expected release date we don't know yet, but the plan is to release around November 10th, the first release candidate, and keep iterating until the number of known bugs is very small. And they plan to release a release candidate version every two weeks until it reaches the final version.
So it's possible that it will be released maybe in December, I mean the final PHP 5.4.0 version or maybe January. We'll see, we have to wait and see because there is Christmas and probably most developers will slow down their work on the PHP core, but maybe we'll get it in December or January or in worse case in February, so if you wanted to know what is the expected release date this is the best approach that I can provide now in terms of expected release date.
Ernani, are you anxious or desiring or hoping for the release of PHP 5.4 soon or you don't care much about this release?
Ernani Joppert: Oh, yeah, I really am. I expect PHP to gather up with the latest approaches and the benefits for this new release which I know of some of them and I am aware about some of them, but mostly by fixing bugs and it's always to see improvements on this side, and hopefully it will be done within this year and the sooner the better.
Manuel Lemos: Yeah, well, we have to wait and see, but personally for me I don't see great advantage in this release, but other people are hoping to see some of the most prominent features like traits and others, but for me I do not see anything special.
Basically I do not see anything special in the latest PHP releases because PHP is already a very mature language and it provides practically all that I need. Still there are people that have different expectations, they probably are anxious for this release, and it is always positive to see new releases of PHP because it shows signs of vitality in the PHP development.
Past versions took years to be released, and since PHP 6 was sort of canceled it's good to know that PHP development carries on, and most people only know about that PHP development is quite alive only when they see new official releases. So I think this version as any other version will be very important to show vitality of the PHP development to the world.
PHP Development Migration to Git (27:06)
Manuel Lemos: But also talking about PHP development, one interesting possibility that I have seen and commented in the PHP Internals mailing list is that they are considering to migrate PHP development again to a different version control system.
As you may be aware in the past PHP used CVS to host their repository of all versions, all changes done to the source code, and it was migrated to Subversion. And now there is a proposal, not specifically just for the PHP project, but there is a developer that offered to assist in the migration of project repositories to Git.
And it seems Git is becoming a quite popular version control system. Well, I don't know if PHP itself really needed Git support, I know there are already mirrors at the PHP Subversion repository, mirrors for Git, and we don't know if this will be a big deal but at least there is this possibility.
It probably won't make any difference for the PHP users because they only use final versions, they do not participate much in the development of the core code, but for those that participate and prefer Git for some reason they will enjoy an eventual migration to this different version control system.
Ernani, would you rather see PHP stay as it is and the developers focus their efforts on some other developments or do you think it will be worth spending some time migrating to Git?
Ernani Joppert: Yes, my concern here is seeing why Git came to life, right, and the benefits of using Git is just to improve distributed development environments along with having your own repository yourself and pulling from someone you are interested by pulling on, and this helps a lot the core team and I see this coming through because it will really avoid confusion.
And Subversion is very powerful, it came along adding benefits compared with the CVS, although those benefits somehow weren't much greater, and you could see the web dev support by checking out this kind of interface and relying on Apache which would then accept further connections and handle it better, but basically what CVS does Subversion does, and aside from some particularities it's just a better way of doing it internally.
And having Git it brings a new approach, we could also see this in Mercurial and Bazaar I guess, but Git is really setting up the standards. And I would see lots of benefits from the core team because they could only have a central repository for their nightly builds, etcetera, and the branching is very easy to happen and by also using some other specific functionalities like cherry picking and everything, it will also improve the organization and the centralization of this and also help managing everything else.
So, yes, I would like to see PHP benefiting from Git, and I'm not involved at all under the core although I've helped in the past with a patch within the ODBC, it was a long time ago, but I would like to see it happening and I would like to see some successful stories about it.
Manuel Lemos: Yes, well, I'm still not sure if it would be worth the effort because I don't see changing the daily routines of development of PHP, everybody has their own copy of, working copy of the repository when they check out with any of the systems being CVS or Subversion or Git, and the fact that Git makes it easier to work on a distributed environment I don't think it will benefit the PHP development itself greatly because the development that matters is still concentrated on the group of people that have access to the repository.
And if you just clone your copy of the repository it doesn't mean that your patches will be accepted, you can develop a patch in a branch and push it, so it can be accepted or not, but you can already do that in Subversion so I'm not sure if this will be so beneficial.
Anyway, since this is an offer from an outside developer to help doing it, probably it won't waste much of the core developer's time to actually do it.
Well, I just saw this message in PHP Internal, there is not a big discussion about it meaning that it probably didn't raise much interest probably because they did not see a great benefit on this.
Anyway, I'm going to post the link to this proposal offer, this developer that is willing to help doing these migrations, because it was not specifically targeted to the PHP development.
I suppose he can help them for other projects, so in case anybody else is interested in having this migration to happen, migrate other projects to Git or something else that they are helping on, they may want to contact the person and see how he can help.
Having this used would be very nice because sometimes you're far away from home, you don't have your own computer at your hand and you may have a mobile phone or a tablet at hand because it's becoming more mature and more widely spread, but you could also use the hotel PC, and mostly those hotel PCs don't have the software suite you are using.
And by using a web technology to write a small presentation and save it under your docs, your Google Docs, or any other repositories that you may find useful such as Dropbox or anything else, it will save you some time and at least keep your idea safe and you can let it go afterwards and just free your mind about things that can be then later on investigated.
So it's nice to see that you can even make some advanced effects on those presentations and I find it useful and innovative as well.
Manuel Lemos: That is yet another object that does some interesting visual effects, it was developed by Arturs Sosins, a top contributor of JS Classes site, and basically it applies to page elements, an effect that is very similar to dropping water over a surface.
And along with this object there is another object also by Arturs Sosins that I would like to comment on which is the Blur effect which is yet another object that provides a nice visual effect, in this case apply a blurring effect to a page element, any page element.
And it is interesting because it provides a solution that works in most modern browsers. And it can animate the blurring effect by changing the blur level, so it seems that the page element that is underlying the mouse pointer or any other page element, is going out of focus.
Ernani Joppert: Yes.
Manuel Lemos: And this is the type of element, the type of effect, that we used to see only provided by Flash objects, Flash animations, in the past. And given the latest developments of properties that are now part of the CSS 3 standard, combining those properties with other resources of HTML 5, like using canvas objects, it can provide nice effects like this, and this is quite interesting.
Well, other than that we have also other interesting objects that unfortunately we do not have time for like, for instance, the Timer object by Jeff Martin from the United States, and as well the jQuery Form Plugin by Satyam Kumawat from India, and the Canvas Game Controls by Martin Barker from the UK, and again the Canvicon object again by Arturs Sosins.
More Exposure to Innovative PHP Developers (41:06)
Manuel Lemos: Unfortunately you do not have much time to comment on these despite they are also interesting because we have to move on to our final section of the podcast which is to comment on the latest PHP Classes nominated for the Innovation Award.
But before commenting on those I would like to mention an enhancement that was introduced this month I like better, the classes, and authors of the classes that were nominated to the Innovation Award over the years.
Sometimes certain pages of the site show listings of packages, for instance of certain groups, like for instance, Web services, list a lot of classes, but the classes that were nominated to the Innovation Award were not highlight in a different way, and this was basically the enhancement that was done this month.
Now wherever a class that was nominated for the Innovation Award is listed, it will appear with the Innovation Award logo and eventually the month and the year and the ranking of that class that was nominated.
This is an effort to value the authors that provide the most interesting contributions to the site. And this hopefully will work as an encouragement for these authors and others to keep sending more innovative components, because not only the classes that are listed are highlighted but also the authors that have submitted innovative packages now or in the past will also be denoted in a special way.
For instance, in the pages of the classes or the pages of the listings of all classes of an author. And if an author was nominated at least once to the Innovation Award, now it will show also the logo of the Innovation Award and the number of nominations and eventually the number of times that that author won, if he won any of the times.
And this will help to show you how reputed is an author in this site, and hopefully this will contribute to encourage more authors to submit more innovative packages, because when they do it they also will be denoted in the rankings of all authors over all the world or of their own country.
There is also a new column in the listings that shows the number of nominations and number of times that the author won to highlight again their contributions and provide them better recognition and encouragement to keep contributing.
But moving on with the actual nominations of this month, Ernani, which classes would you like to highlight this month?
Ernani Joppert: Yes, just before commenting on the classes which I've already picked here, I'd like to highlight that you mentioned the paradigm versus low quality classes and innovative, the difference between encouraging innovation and complexity of code, and as well as giving back to the users because they are improving the amount of code and innovation within the PHP Classes community itself.
So it's always nice to give back to the user the ability to have more visibility when participating in a hiring process and explaining some particularities of their code and having this being recognized by the site itself and about the users.
And this is very nice to see and just doesn't try to organize the information but also to make sure that we are dealing with people here, and those people are very keen to be hired by an employer, and it's nice to give them back the ability to be recognized and it's very nice to see this.
As well as within the job promotion that PHP Classes does there are lots of openings that are being explicitly given by the PHP Classes site, and most of those jobs focus on part time development or home office development or freelance, and it's nice to see the users becoming premium users within PHP Classes site, they will benefit from it, and by having some classes which are recognized already it will also improve their chances to be hired.
Manuel Lemos: This is just to compliment, just to mention every author of a class that is nominated is entitled to get a free lifetime premium subscription which among other things grants them priority access to the job postings that appear on the site.
So eventually by contributing more innovative classes authors can get free access to more and better jobs, and hopefully that will pay back for the contributions that they are making to the site.
PHP Programming Innovation Award nominees of August 2011 (47:56)
Manuel Lemos: But now that we are very close to the end just going to mention a few classes that you think are worth mentioning for the Innovation Award of August and the authors were voted, actually the classes were voted during September, so now in October they are announced, the winners, so which ones do you think are more worth mentioning?
Ernani Joppert: Yes, I've picked two classes, the Secure SQLite database engine. There is a library there that allows the user to access encrypted SQLite database files. SQLite is growing very strong especially on mobile devices, and sometimes you have to interface those mobile environments with a backend server, and by having this class within a PHP project would surely help in some particular development.
So this is my first pick and this is from Sven Dunemann, I'm not sure if I pronounced his name correctly, and he is from Germany.
So congrats for the award here, as well as the phpSVG class which allows the users to create and edit vectorial graphics under SVG files, and this allows lots of benefits by creating a graph library or specific graphics.
I've seen some astrology websites by using SVG they could write astral maps by performing computation of planetary positions. So I've seen those benefitting from SVG as well as graphics, and everything that might require the user to generate vector graphics and vectorial images would really benefit from this.
Oh, sorry, the author of this class is Eduardo, he has an alias, "Trial Force" Bonfandini. He is from Brazil, and congrats for the first... actually this class was voted the first one, so I also would like to send some kudos to him which is very nice to see these kinds of innovations.
Manuel Lemos: Yes, this class, despite there are other classes for parsing SVG files, what this class does additionally is that not only can you parse, you can also change the objects in the SVG document and you can save them back, so you can build sort of an editor for these kinds of vectorial graphics defined this way.
Well, on my part I would like to also mention a couple of classes, one is named Words to Numbers by Muhammad Arfeen, not sure if this is the right way to pronounce his name. He's from Pakistan.
And I would just like to comment on one small detail that I think most people did not get right what this class does. And this happened to me exactly when I was approving this class, I didn't get what it does, I thought it did the opposite.
I thought it did take a number and convert it to spell it in English words, and there many, many classes to do that. And what this class does is precisely the opposite, which is not so trivial, which is to take a number already spelled with the English words and parse it, parse the words to recover the actual number that is being spelled that way.
And this class was not voted much probably because people did not get right what this class does despite there are some explanations to describe this.
Ernani Joppert: And is this only for English or for other languages?
Manuel Lemos: In this case it's English because it requires specific parsing for the words, but given this probably there may be other classes that support other idioms.
Ernani Joppert: We could also recommend the user the author of this class to improve it and make it more internationalized as well, right?
Manuel Lemos: Yeah, maybe if he finds the motivation to do it now that it was at least mentioned after being nominated to this award in August.
And the other class that I wanted to also mention is Gamify, again by Arturs Sosins, not only is he a top contributor of the JS Classes site, he also contributes great classes to the PHP Classes site.
And in this case the Gamify class that Arturs sent it's very interesting because it builds upon the concept of providing a way to record tasks that a user can do on a site and award points, so the site can build a ranking somewhat similar to the rankings that are in PHP Classes site and other sites that also use gaming theories to encourage users to contribute more to their sites.
And this class also supports the idea of having badges, and all the gaming logic that we are very used to seeing in many sites that are sort of gamified, if that word exists.
And this is quite interesting and I encourage everybody to see not only this class but all the others. This month in August there were 12 classes that were nominated, it's a lot of classes to be nominated for the Innovation Award and this is very positive.
And I would like on this note I would like to encourage everybody to keep sending even more innovative classes so we can talk about them in future episodes of this podcast. So on this note I think this is all for now, it was a great podcast and on my part that's all, bye.
Ernani Joppert: Bye, bye, everyone.
You need to be a registered user or login to post a comment
1,350,207 PHP developers registered to the PHP Classes site.
Be One of Us!
Login Immediately with your account on: