Author: Manuel Lemos
Categories: Lately in JavaScript podcast, JavaScript APIs
On episode 4 of the Lately in JavaScript podcast, Manuel Lemos and Michael Kimsal discuss the relevance of Google Chrome OS for Web developers in general and the opportunities to developer better Web applications using special Chrome features like the Native Client interface.
They also comment on the announcement of HP Palm WebOS 2.0 and its use of JavaScript, and the release of jQuery 1.5.
They also comment on the announcement of HP Palm WebOS 2.0 and its use of JavaScript, and the release of jQuery 1.5.
Contents
Listen or download the podcast, RSS feed
Read the podcast transcript
Click on the Play button to listen now.
Introduction music: Riviera by Ernani Joppert, São Paulo, Brazil
RSS 2.0 feed compliant with iTunes:
http://www.jsclasses.org/blog/category/podcast/post/latest.rss
Show notes
- Article on Why Google Chrome OS matters?
- Google Chrome OS
- Chrome Web Store
- WebDevRadio Podcast interview on Web OS with Frank Zammetti
- Submit JavaScript events to be announced in the Lately in JavaScript podcast
- Submit JavaScript article proposals to JSMag magazine
Contents
Introduction (00:20)
Google Chrome OS relevance article (2:43)
WebOS 2.0 (26:17)
jQuery 1.5 released (38:15)
Upcoming JavaScript events worldwide (41:13)
Latest most interesting JavaScript objects in JSClasses (43:39)
Contribute to JSMag magazine (50:30)
Introduction (00:20)
Manuel Lemos: Hello, welcome to the Lately In JavaScript Podcast. I am Manuel Lemos the host of the podcast and as always I have here with me Michael Kimsal as my co-host. Hello Michael, how are you doing?Michael Kimsal: Good morning. I am doing well, thank you.
Manuel Lemos: Hopefully I think you are doing better than when you were sort of affected by the cold.
Michael Kimsal: Yes, yes, just a little bit left.
Manuel Lemos: Just comment a bit about why we did not have an episode in December and also in January. In December I went to Portugal, my home country, to visit my family. I was not with them for a few years now and it was about time to visit them for Christmas.
And when I was there I was sort of not used to the cold that usually goes on in the winter, and it seems that this year it was even worse than before and I become a little raucous and my voice was not good enough to talk for more than a few minutes. So I decided to skip the podcast. And then in January we were not able to record with you, Michael, you had also your own domestic issues.
Michael Kimsal: I actually had two, I was traveling a bit, went up to Ohio for a conference and then I caught the flu and brought it back and gave it to my wife, good husband that I am, and so we spent most of probably two or three weeks in January just really sick between us, and then my wife ended up with a pneumonia of some sort, so she had an extra ordeal than I did.
But it was not a fun month. We were both sick and your voice was gone in December, but here we are, we're back.
Manuel Lemos: Yeah. Hopefully all is well now and we'll get back to the regular schedule and try to keep the pace of recording one podcast a month to talk about what has been happening lately in the JavaScript world.
And this is sort of indirectly related with JavaScript. It matters to all web developers in general not just JavaScript. But the main message that I wanted to pass on with this article is to clarify a lot of things that people are not getting about Chrome OS. Probably it is Google's fault they are not making it very clear what is Chrome OS after all, why another operating system and is it really different from what we are used to using everyday.
Because in practice Chrome OS is Chrome, Chrome the browser that Google has been developing actually at quite a rapid pace. They have released many new versions just this past year, 2010. And basically what they have been doing is to implement many of the planned features for HTML 5 JavaScript API's that allow you to develop more enhanced web applications that address several challenges of traditional Web applications that require you to access Web sites.
And one of those challenges is the difficulty to continue using an application, a web application, if for instance you go offline, if you lose connectivity to the server. And in a traditional web application you would stop using the application.
But with the latest enhancements of the HTML 5 API's, which make browsers web applications potentially capable of dealing with loss of connection, things start becoming more interesting because if you lose the connection now you are able to continue using and eventually any work that you are doing, for instance, if you are working in a word processing Web application and you lose connection what you will not be able to do is to save or retrieve your work from the Web, but you eventually can continue working on your documents if the web application is ready to save the changes to local storage.
And HTML 5 JavaScript API's provide you means to continue using your application and once the connection is restored you will be able to... actually the application will be able to save any changes that you made in your work.
Google Chrome OS relevance article (2:43)
Manuel Lemos: And in this episode I would like to comment a bit on an article that I wrote in the JSClasses site blog. It covers mainly the Chrome OS operating system that Google is working on for quite a while now.And this is sort of indirectly related with JavaScript. It matters to all web developers in general not just JavaScript. But the main message that I wanted to pass on with this article is to clarify a lot of things that people are not getting about Chrome OS. Probably it is Google's fault they are not making it very clear what is Chrome OS after all, why another operating system and is it really different from what we are used to using everyday.
Because in practice Chrome OS is Chrome, Chrome the browser that Google has been developing actually at quite a rapid pace. They have released many new versions just this past year, 2010. And basically what they have been doing is to implement many of the planned features for HTML 5 JavaScript API's that allow you to develop more enhanced web applications that address several challenges of traditional Web applications that require you to access Web sites.
And one of those challenges is the difficulty to continue using an application, a web application, if for instance you go offline, if you lose connectivity to the server. And in a traditional web application you would stop using the application.
But with the latest enhancements of the HTML 5 API's, which make browsers web applications potentially capable of dealing with loss of connection, things start becoming more interesting because if you lose the connection now you are able to continue using and eventually any work that you are doing, for instance, if you are working in a word processing Web application and you lose connection what you will not be able to do is to save or retrieve your work from the Web, but you eventually can continue working on your documents if the web application is ready to save the changes to local storage.
And HTML 5 JavaScript API's provide you means to continue using your application and once the connection is restored you will be able to... actually the application will be able to save any changes that you made in your work.
Michael Kimsal: I have to say, I'm going to play devil's advocate here, pardon me for cutting you off, but we can do that now to some extent, we can do it with HTML 5, you're talking about HTML 5 API's and we've been able to do it with plugins before that.
I'm just not sure what Chrome OS really, well, I have an idea of what they think it might be, but it's been talked about for a while and it's still not here. Chrome is, Chrome's a great web browser, and if they're going to extend that web browser experience to other aspects of using a netbook that's great, but why has it taking so long?
Why have we had a couple iterations of iPad and we've had other devices come around and Chrome OS is basically just it feels like it's stagnating, and I say that as somebody who is not a developer in it but I just expected more. I've expected more from Google in delivering something that we can use.
Manuel Lemos: Right. In reality Chrome OS is just Chrome, and if you put Chrome in another operating system, not the intended Chrome OS, which is basically a Linux distribution, you will get the same, you will get Chrome OS more or less the same.
There are a few minor features that will built in the firmware of the machine that will ship with Chrome OS. But other than that the most important enhancements are in Chrome the browser.
And I agree with you since what is taking so long for Google to clarify what exactly is going to be Chrome OS? Where is the difference between using a regular browser and a Chrome OS machine?
There are a few minor features that will built in the firmware of the machine that will ship with Chrome OS. But other than that the most important enhancements are in Chrome the browser.
And I agree with you since what is taking so long for Google to clarify what exactly is going to be Chrome OS? Where is the difference between using a regular browser and a Chrome OS machine?
Michael Kimsal: As you just said a moment ago where Chrome OS is really Chrome and I think that's the impression that people are trying to give now, but I don't remember, when it was first brought out I don't remember that being the message, I remember it being opposite, no, Chrome OS is an operating system and it's going to be a total experience and Chrome is just a browser and they're separate.
Manuel Lemos: Right, there are a few enhancements that will try to make it more secure, but that was something out of the OS itself. They will build features in the machine firmware. For instance, a machine just for accessing the Web will not need floppy disks or stuff that is still supported in the BIOS of current PC and notebooks or netbooks and they will strip down all those features so the machine boots much faster than a traditional PC.
And other than that you'll still get what any Linux distribution with Chrome will provide you. They are claiming that the machine will boot much faster because when you take it from the suspension state or hibernation state, but that is already available in any Linux distribution.
The machine will also boot much faster because they will be using SSD drives in the so-called native Chrome OS notebooks. So basically I would say there is almost nothing besides that security feature that they will build in the firmware of the native Chrome OS machines, it will still be a Linux distribution.
And what you can do with any Linux distribution, Ubuntu or OpenSuSE or Red Hat or whatever you prefer you'll still be able to do the same with Chrome OS. So the new thing is not really there in my opinion, the new thing is actually in the stuff that Google's building in Chrome, which is actually new.
And other than that you'll still get what any Linux distribution with Chrome will provide you. They are claiming that the machine will boot much faster because when you take it from the suspension state or hibernation state, but that is already available in any Linux distribution.
The machine will also boot much faster because they will be using SSD drives in the so-called native Chrome OS notebooks. So basically I would say there is almost nothing besides that security feature that they will build in the firmware of the native Chrome OS machines, it will still be a Linux distribution.
And what you can do with any Linux distribution, Ubuntu or OpenSuSE or Red Hat or whatever you prefer you'll still be able to do the same with Chrome OS. So the new thing is not really there in my opinion, the new thing is actually in the stuff that Google's building in Chrome, which is actually new.
Michael Kimsal: I'm feeling the same way. Two years ago or so it felt like hey this might be something. Maybe this will be sort of revolutionary in a way. And they've basically let other companies pass them by in terms of getting it out onto devices.
And I wonder sometimes what the real goal of it is for them if they're going to continue on with it, I'm assuming they are, I'm hearing a little bit more about it these days, but is it primarily just something so that they can get more, sell more ads to us, that's Google's business is selling ads.
Manuel Lemos: That's the other aspect that I also cover in the article, because one of the new things that launched recently is the Chrome Web Store. The Chrome Web Store will allow you to sell your own web applications.
And what are web applications? Well, basically there are a few types of web applications. One of them is hosted applications like those that depend on accessing to a remote site to get some service, like if you go to Google Docs you can produce some documents, and for that you already can access via any other browser.
And what is new is the type of applications which are in reality Chrome extensions, so they are specific to Chrome, they use Chrome specific features. Those extensions what they can do besides the regular applications, what happens is that when you install a Chrome extension the developer has to provide a manifest file that describes the privileges that you need to have the application work in full.
So, for instance, regular applications will be able to access local storage but they are limited to 5MB. If you are going to have an application that needs to manipulate for instance large video files, 5MB per applications is quite limited.
So Chrome extensions can request to have a privilege to have a larger, actually unlimited local disk space usage. And there are other privileges that allow web applications, which in reality are Chrome extensions, to do more than traditional web applications that just use the standard HTML and JavaScript API's.
And there is a new set of opportunities that can be explored by Web application developers. One other interesting thing, it's the Native Client. Michael are you familiar with the Native Client?
And what are web applications? Well, basically there are a few types of web applications. One of them is hosted applications like those that depend on accessing to a remote site to get some service, like if you go to Google Docs you can produce some documents, and for that you already can access via any other browser.
And what is new is the type of applications which are in reality Chrome extensions, so they are specific to Chrome, they use Chrome specific features. Those extensions what they can do besides the regular applications, what happens is that when you install a Chrome extension the developer has to provide a manifest file that describes the privileges that you need to have the application work in full.
So, for instance, regular applications will be able to access local storage but they are limited to 5MB. If you are going to have an application that needs to manipulate for instance large video files, 5MB per applications is quite limited.
So Chrome extensions can request to have a privilege to have a larger, actually unlimited local disk space usage. And there are other privileges that allow web applications, which in reality are Chrome extensions, to do more than traditional web applications that just use the standard HTML and JavaScript API's.
And there is a new set of opportunities that can be explored by Web application developers. One other interesting thing, it's the Native Client. Michael are you familiar with the Native Client?
Michael Kimsal: For what, for Chrome?
Manuel Lemos: Yeah, because this is for now it's a Chrome specific feature.
Michael Kimsal: I don't think I am.
Manuel Lemos: Well, basically it allows you to produce extensions written in C or C++. If you are a low-level programming developer you can develop special extensions that probably require more resources, more CPU, all of the CPU that you can get greater control.
And what the Native Client extension support does, that Chrome has now built in, is to have extensions that are written in a way that are portable between machines with different architectures.
And what the Native Client extension support does, that Chrome has now built in, is to have extensions that are written in a way that are portable between machines with different architectures.
Michael Kimsal: Oh, okay, I do remember hearing about that some time ago early on in Chrome's existence I do remember hearing about that, yeah.
Manuel Lemos: Those extensions, the compiled code will work in different operating systems as well, not just the same operating systems. The same code will... it's a sort of, well, it's not really I don't know if calling it byte code is accurate, but from what I understood it's LLVM byte code and that gets translated to the native machine code.
But the new thing that Chrome is fighting with Native Client is also some security features that ensure that the application that you are installing through these Chrome extensions based on Native Client code will not execute code that may be insecure.
For instance, you could not develop a virus in native code because before accepting the installation of the byte code, LLVM, there is a sort of an analysis what it does and certain system calls are not accepted.
But the new thing that Chrome is fighting with Native Client is also some security features that ensure that the application that you are installing through these Chrome extensions based on Native Client code will not execute code that may be insecure.
For instance, you could not develop a virus in native code because before accepting the installation of the byte code, LLVM, there is a sort of an analysis what it does and certain system calls are not accepted.
Michael Kimsal: There will be people that will get around that somehow. I don't know who, I don't know when, I don't know how but they will.
Manuel Lemos: Actually, from what I understood there is a contest. Google is promoting a contest, I think they offered $20,000 to whoever is able to produce an extension that sort of breaks out of their sandbox.
And this is important to inspire security because otherwise you will also have the problem in Internet Explorer ActiveX extensions that from what I understood they do not have this security control.
And this is somewhat a new thing, an enhancement that is worth thinking about. And I also hope that other browsers, not just Chrome, also support Native Client extension support in browsers.
And this is important to inspire security because otherwise you will also have the problem in Internet Explorer ActiveX extensions that from what I understood they do not have this security control.
And this is somewhat a new thing, an enhancement that is worth thinking about. And I also hope that other browsers, not just Chrome, also support Native Client extension support in browsers.
Michael Kimsal: I'm kind of mixed on that myself and personally I would rather see more effort going into, there already is some, but more effort continue to go into the JavaScript engines that perhaps come up with a JavaScript to Native Client compiling step and allow you to distribute JavaScript byte code.
But that's just me. I'm not a C guy so I don't know it, I don't like it. JavaScript is a lot more prevalent, is a lot more popular, is a lot more accessible to people, and doing something like that it is a bit of a hybridization between allowing people to write desktop client type apps but distribute them over the Web in a cross platform sort of way.
I understand I think the motivation behind it, but that said there are probably a few people out there doing it but it still doesn't seem very widespread yet.
Manuel Lemos: Well, right, I understand it is something that probably does not have more than one year old. Anyway, I understand your concern but I think there are two main motivations for supporting Native Client.
One is to allow developers to build applications that require the maximum performance that you can get from the user's machine. And the other is sort of protection to the applications because if you build your web applications, browser based applications, all in JavaScript it will be sort of easy to steal your code.
One is to allow developers to build applications that require the maximum performance that you can get from the user's machine. And the other is sort of protection to the applications because if you build your web applications, browser based applications, all in JavaScript it will be sort of easy to steal your code.
Michael Kimsal: But you could distribute compiled JavaScript code, someone could come up with a way to do that.
Manuel Lemos: I think that is already provided if I'm not mistaken. I think there are compilers that can translate JavaScript into LLVM byte code. I'm not an expert on this subject, maybe I'm misinterpreting something that I read.
Anyway, the idea is that you have options. If you want to build your application fully in JavaScript you can. If you want to, also from what I understood, you can use Native Client extensions to implement some basic functionality and have it, that extension functionality, exposed via JavaScript.
So you can have a small core of your application code written in Native Client and then have it called from the JavaScript code application which can be probably the great part of your code. So in the end we'll have this option, so it's up to you to decide.
For some people it will be important to protect their businesses with some compiled code to make it more difficult to steal, but others may protect their applications businesses with web services that are provided exclusively to paying customers, but then those services will not be available when there is some down time. So at least now you have all these options which I think it's good because you didn't have these options in the past.
Anyway, the idea is that you have options. If you want to build your application fully in JavaScript you can. If you want to, also from what I understood, you can use Native Client extensions to implement some basic functionality and have it, that extension functionality, exposed via JavaScript.
So you can have a small core of your application code written in Native Client and then have it called from the JavaScript code application which can be probably the great part of your code. So in the end we'll have this option, so it's up to you to decide.
For some people it will be important to protect their businesses with some compiled code to make it more difficult to steal, but others may protect their applications businesses with web services that are provided exclusively to paying customers, but then those services will not be available when there is some down time. So at least now you have all these options which I think it's good because you didn't have these options in the past.
Michael Kimsal: Could be, we'll see. I guess some of this just feels like none of these are things that address any concerns that I have right now. So I look at them and I think well I don't get it therefore there may not be any value in it.
Maybe there are for some people. I read your piece, I see what some of you're talking about here right now, I can see that there may be value for some people but it does feel chicken and egg, it feels like there may not be people investing in doing some of those more advanced techniques until they know that there's a marketplace, either a commercial marketplace or there's enough of an audience using that browser technology, so they may not do it and wait for more people to adopt, but that's a perennial technology problem, that's nothing to do with this particular thing, that's early adopters and all that kind of stuff.
Manuel Lemos: Right. We have to wait and see how the market will be embracing or not this initiative. But I just wanted to in closing this topic I'll just mention for instance one possible application that could be developed.
You said that you personally would not have a need to use these things, but imagine somebody that develops an application to implement some video editing facility. There were some web based video editing sites but so far I did not see them succeeding because I suppose there are challenges in uploading such large files to the server that it takes a lot of time, so it would be better if you could edit your video captures on your local machine and only have them sent to the server when you are done.
And with this Native Client support you can already perform, develop applications that perform CPU intensive operations like video manipulation.
You said that you personally would not have a need to use these things, but imagine somebody that develops an application to implement some video editing facility. There were some web based video editing sites but so far I did not see them succeeding because I suppose there are challenges in uploading such large files to the server that it takes a lot of time, so it would be better if you could edit your video captures on your local machine and only have them sent to the server when you are done.
And with this Native Client support you can already perform, develop applications that perform CPU intensive operations like video manipulation.
Michael Kimsal: Sure or audio would be another one, yeah.
Manuel Lemos: Right, anything that is CPU intensive is a good candidate for using this Native Client support feature.
One interesting thing that I did not comment on in the article is that Google already provides a lot of common C and C++ libraries already compiled in LLVM byte code. And that is interesting because some of those libraries are meant for video manipulation like FFMPEG. At least if you are used to Linux applications you'll notice that they're very popular library for video manipulation.
And there are many others in there already ported to work well within Native Client applications. And this is just an example and I think it will depend a lot on imagination of each developer to figure what applications these technologies will allow you to develop. So we have to wait and see.
One interesting thing that I did not comment on in the article is that Google already provides a lot of common C and C++ libraries already compiled in LLVM byte code. And that is interesting because some of those libraries are meant for video manipulation like FFMPEG. At least if you are used to Linux applications you'll notice that they're very popular library for video manipulation.
And there are many others in there already ported to work well within Native Client applications. And this is just an example and I think it will depend a lot on imagination of each developer to figure what applications these technologies will allow you to develop. So we have to wait and see.
Michael Kimsal: Well, I'm going to wait. I will wait and see what people come out with.
Manuel Lemos: And there's also the Chrome Web Store which, if all goes well, it will provide the application developers a good way to spread and sell their applications in there. And so I would say that despite there are a few things that Google also has to evolve and mature, there is a lot that is in the hands of developers to see the opportunity and take it to develop some browser based applications.
Michael Kimsal: Well, I will let them do that. As much as I use Chrome I haven't done any developing for Chrome at all, so I'm just a consumer in that respect.
Manuel Lemos: Me neither.
WebOS 2.0 (26:17)
Manuel Lemos: But moving on with our podcast, now talking also about another OS that has been enhanced. Michael I think you are more familiar with it than me, would you like to comment?
WebOS 2.0 (26:17)
Manuel Lemos: But moving on with our podcast, now talking also about another OS that has been enhanced. Michael I think you are more familiar with it than me, would you like to comment?Michael Kimsal: Whoo, I would, I would! See, Chrome OS it's all theoretical whatever it may come out, but Hewlett Packard's purchase of Palm last year put the WebOS developer community I think in a little bit of a state of what's going on, we're not sure.
But yesterday they gave a very long press release, press demonstration of three new devices that are all based on WebOS. WebOS is a web based or more specifically a JavaScript based operating system primarily for mobile devices right now.
A couple of years ago it was the Palm Pre and the Palm Pixie and Pre Plus and Pixie Plus, they now have three new devices, the Pre 3 is the next generation of the Pre phones, the Veer, V-e-e-r, is a smaller form factor phone, I think it's a two-inch screen instead of three-and-a-half inch screen Smart Phone. It still has a keyboard on it though it looks kind of smaller than the standard Pre's.
And then the biggest announcement was the, oh what do they call it, the Thought Pad I think it was what it was called, that is it looks identical to the Apple iPad.
Manuel Lemos: Touchpad.
Michael Kimsal: Oh, Touchpad, it was Touchpad, I'm sorry, I was thinking Think Pad, I know there was an O U in there, the Touchpad, yes. The Touchpad is nearly identical to the Apple iPad from what I can see the current, whatever the dimensions are, 13 millimeters thick, and I couldn't see if there was the home button on it like the Apple iPad has the one button on it, but everything else looks fairly similar except it's running a version of WebOS which has been upgraded, it's now WebOS 2.0.
A lot of focus on multitasking, well, running a lot of concurrent applications at the same time and being able to move data from one app to the other while they're both running, so that was a big focus of their demonstration yesterday.
Another interesting feature that came out, what was it called, Touch to Share or Tap to Share, the demonstration was having a Palm Pre and a tablet, the Touchpad Tablet. The Touchpad tablet was opened up to a particular website, the Palm Pre went up and just touched, they touched the two devices together and the web address, the website, was transferred over, the address was transferred over and it loaded up that page on the Pre.
So some interesting ideas they have about convergence between multiple devices and spreading the WebOS platform to other devices in the future. I personally would like to have seen another device that came out that was not a phone. The Veer and the Pre 3 are both phones, I would like to have seen maybe a smaller form factor tablet, but they're doing what they're doing right now.
So, the difficulty for me was that these all look really nice but the Pre looked really nice two years ago and then it was six months before you could get a device. They're doing the same thing again, they had a thing in February yesterday and now they're saying the devices will be, the tablet will be available this summer, that's all they're saying, there's no pricing released.
Now apparently the rumor is that Apple will have a new iPad out in April and I think Palm is trying to hedge their bets and wait for pricing on that before they announce pricing on their tablets, who knows if that's true.
But all of this is just... I don't have a WebOS device but when it first came out a couple years ago I liked it. I actually did an interview with a guy named Frank Zammetti on the WebDevRadio podcast because he had written a book about WebOS. He was doing a lot with WebOS at the time.
It's all based on JavaScript. A couple of podcasts ago you and I were talking about server side JavaScript and the importance of understanding event based programming and asynchronous callbacks, all that kind of stuff.
It's the exact same thing in WebOS, everything is an event, everything is asynch callback. You need to understand that, but there are a lot of JavaScript API's which give you direct access to the underlying hardware, probably a little bit different than some of the standard server side JavaScript.
A lot of the server side JavaScript really doesn't care too much about the hardware other than perhaps the file system. You're not dealing with a screen, you're not dealing with touch, you're not dealing with accelerometers or compasses or GPS or anything.
So, you have some more interesting things available to you, but underlying this all is JavaScript, and what you and I just talked about before that underlying this in WebOS 2 they're now baking in Node.js, it's a part of the operating system.
So I think hopefully, and I don't think that they'll just be able to ride Node popularity train right now, the Node bandwagon, but if they can get these devices out there quickly enough and they can start convincing some people who are really, really serious JavaScript developers to focus their time on WebOS, we might see some really, really cool stuff. I think there may be a chance for this to pull ahead and come back.
Interestingly ten years ago, twelve years ago, Macs were always a niche, always a bit player, and in the past ten, twelve years we've seen Apple turn around and really come to dominate. I'm not sure that HP with WebOS is going to be able to dominate exclusively in the next few years, but I think they stand a pretty good chance of staking a claim.
I'm actually more interested and I think I'm a bit more enthusiastic about WebOS than I am Android for. As much as there are a bunch of Android stuff out there it's just software, it's just an operating system, and we've seen a lot of fragmentation, HP has an opportunity to come up and say this is JavaScript based, it's WebOS, it's built on Linux, there's a lot of its open sources, it's very open to get into, but we're going to maintain more of a control over the devices, the hardware, sort of like a middle ground between the openness of Android and the platform curation and the hardware curation of Apple.
So that's where I think their sweet spot can come in, and again the relevance to this is it's JavaScript. Anybody listening is probably a JavaScript developer. If you haven't played with WebOS yet I would encourage you to go Google up for WebOS, grab the emulator, just start playing with stuff.
I got that a couple years ago and I made a couple small little sample things but it was fun, I like JavaScript, I was able to make some really cool apps really quick.
Manuel Lemos: Right. Well, we are recording this on Thursday, 10 February. I think was it announced yesterday, right?
Michael Kimsal: Yes.
Manuel Lemos: So I did not have much time to browse around what exactly they are launching now.
Michael Kimsal: Well, unfortunately it was just an announcement of here's our three devices. I think one of the phones may be out in April, but you can start pre-ordering it from Verizon today, but the tablet itself I don't think is going to be out until the summer. So we'll have plenty of time to read more about what's coming and all that.
Manuel Lemos: Well, I think that the most important at least for us, for this podcast is the fact that they are using JavaScript as the main language for developing applications although I already read in their announcement that they have support for plugging in C and C++ components.
Michael Kimsal: Hmm-mm. Under the hood I know that the old Palm Pre phones it's Linux under there so certainly there is ability to do something with C I guess if you needed to, but I think the main focus hopefully will be the JavaScript side of things.
Manuel Lemos: Yeah, this is interesting because it goes along the lines of the wishes of what many developers would like to have a more I would say accessible language to develop their applications because if you develop for the Apple devices you have to learn Objective C and to develop for Android you have to learn Java.
And I think embracing JavaScript as the main language gives WebOS more interesting aspect, make it more appealing for many of us which are Web developers and we've been using and we are familiar with JavaScript since more than a decade.
And I think embracing JavaScript as the main language gives WebOS more interesting aspect, make it more appealing for many of us which are Web developers and we've been using and we are familiar with JavaScript since more than a decade.
Michael Kimsal: Now I'll throw out one other thing here just talking about JavaScript and mobile devices. The Titanium framework, that is you can write JavaScript and compile to iPhones, iPads and Android devices though there's some discrepancies there, apparently they're focusing on Blackberry now.
Now given the JavaScript nature I haven't heard anything but I would really like to see Titanium support WebOS sometime this year, that would be phenomenal, I think ideally it would be one of the easiest translations to do.
Manuel Lemos: Right, because it's the same language.
Michael Kimsal: And what that might encourage people to do is if you're going to write something, this is kind of wishful thinking here, but if you're going to write something write it for WebOS and then translate it through Titanium through some other thing.
Obviously not all apps are going to be able to be written that way, but hey write for JavaScript. If you're already writing for JavaScript you may as well include the WebOS platform, and if you're doing it with these minor changes it can now compile on Titanium and you're going to be able to target all the platforms.
So I think as much as Apple hates this cross platform stuff, and to some extent some of the apps they're certainly going to better with native code, but there's a lot you can do with JavaScript and cross compiling against the libraries.
Manuel Lemos: Right. I think that's the impression that I had. Last October I was at Google Developer Day here in São Paulo in Brazil and I talked with Tim Bray about many subjects including this about Chrome OS and Android and stuff.
And Tim Bray for those of you who are not familiar he is one of the co-inventors of XML, but he is now working at Google on the Android platform. And I asked him what did he think about the Titanium platform. And he said it is a good idea to use it but in the end it will also develop a bit a native code to take advantage of platform specific features. Native Code in case of Android it will be Java.
So if we can develop most of the code in JavaScript I think it will be already good for our eventual productivity. So it's a good thing to see this new OS, WebOS, thriving through the mobile device market, we'll see how this market will evolve and if WebOS machines will have some adoption.
And Tim Bray for those of you who are not familiar he is one of the co-inventors of XML, but he is now working at Google on the Android platform. And I asked him what did he think about the Titanium platform. And he said it is a good idea to use it but in the end it will also develop a bit a native code to take advantage of platform specific features. Native Code in case of Android it will be Java.
So if we can develop most of the code in JavaScript I think it will be already good for our eventual productivity. So it's a good thing to see this new OS, WebOS, thriving through the mobile device market, we'll see how this market will evolve and if WebOS machines will have some adoption.
Michael Kimsal: I hope so, yeah.
Manuel Lemos: ...to make it more interesting. But I think that's all we can say for now because we just have an announcement, we don't have the new devices yet, right?
Michael Kimsal: Hmm-mm.
Manuel Lemos: So we will wait and see.
jQuery 1.5 released (38:15)
Manuel Lemos: Now moving on with our podcast now towards the end of the podcast just to comment on a few happenings that took place recently, specifically jQuery has just released version 1.5.
jQuery 1.5 released (38:15)
Manuel Lemos: Now moving on with our podcast now towards the end of the podcast just to comment on a few happenings that took place recently, specifically jQuery has just released version 1.5.Michael Kimsal: Yeah, 1.5, though I don't use jQuery enough to know or for this to be an impact and I don't think you do either, do you?
Manuel Lemos: Right. My use of JavaScript is mostly restricted to my own components and some server side generated JavaScript. I know jQuery's really popular. It does a great job abstracting the differences between platforms. But for my own uses I did not have a great need to use it, so I could not figure what exactly was so important with this release.
Michael Kimsal: Well, I think to some extent probably every release is a little important just because they're always doing some little performance improvements or sometimes big performance improvements.
And I think the one thing that was sticking out to me was that there was some templating, well there was supposed to be a templating agent that was included in 1.5 and I think well my reading was it's now included, it's in the 1.5 family but as an extra plugin or an extra component that you'd have to get, but this was a templating system that was offered by Microsoft, contributed by Microsoft.
Manuel Lemos: Oh, I see.
Michael Kimsal: So that in and of itself it's good to see a big company like Microsoft being a bit public about some of their stuff. They've adopted JQuery and I think they bundle it with Visual Studio, have been for a while, and to be giving back something it's a nice little heartwarming story.
Manuel Lemos: Yeah, actually they provide paid support to anybody that wants to use jQuery and needs some professional services to support their development. So I am aware that Microsoft provides it so that's why they're so involved with jQuery. But anyway this was just a note of this new release.
Upcoming JavaScript events worldwide (41:13)
Manuel Lemos: moving on with other topics of our podcast, Michael I think you wanted to comment on some JavaScript events.Michael Kimsal: Sure. Well, David Calhoun puts together the weekly JavaScript news for JsMag and puts it on the blog. He started the past few weeks to put up a list of some of the upcoming events, and one, two, three, four, five, six, looks like there's about eleven, probably by the time people are hearing this the JS BootCamp in Virginia will already be done and High Performance Mobile in San Francisco will already be done.
But up in March, coming up in March there's a Confoo Web techno Conference in Canada in Montreal. Right here in Durham North Carolina my friend Matt Henry who used to write for JsMag is organizing a mobile camp like a mobile developer, a bar camp sort of event, sort of just a one day very laid back everybody get together kind of event focusing on mobile app development. JSConf, which started a couple years ago, they're having their big thing in May, May 2nd and 3rd in Portland, Oregon.
There are some others there that are coming up maybe future in May and June and so on. But if anybody listening has some other events that you know of that are web development or primarily JavaScript focused give us a call. How do people get in touch with you Manuel?
Manuel Lemos: You can just write to info@jsclasses.org and we'll sure mention it in future podcast editions, hopefully get some more exposure, now that JSClasses has many thousands of subscribers that listen to the podcast.
Michael Kimsal: I guess I should say that I focused a bit on North America. JSDay is coming up in Italy May 12th through 14th. Mobilism is coming up in Amsterdam May 12 through 13th.
So this is for as much as there was a lot of U.S. and North America focus there, there have to be events going on outside the U.S., so the more of those anybody listening if you know of something happening in the U.K. or Germany or France or Spain, wherever you happen to be listening, those are all European, if there's anything in Australia or Japan, Brazil, Manuel?
Manuel Lemos: Anywhere, anywhere, I'll take the space, you're sure helping spread the word about your JavaScript events.
Michael would you like to go ahead and comment on those that you think got your attention?
Latest most interesting JavaScript objects in JSClasses (43:39)
Manuel Lemos: Now moving on practically at the end of our podcast, we'll just comment about a few of the latest JavaScript objects that were published in JSClasses site, just comment on a few of the latest since the last podcast.Michael would you like to go ahead and comment on those that you think got your attention?
Michael Kimsal: Well, there were a few. it's actually the most recent one right now, it's Marquee, and I had flashbacks to the Microsoft Marquee tag, or maybe it was the Netscape Marquee tag from '96 or '97 or so, that's initially what I thought this was, I thought it was almost that it was going to be a retro joke, and it's not, it's a JavaScript component that allows for a very smooth scrolling of blocks of data either up and down or right and left.
And this is by, hope I'm getting the name right, Arturs Sosen from Latvia, so Arturs I hope I'm saying your name right if you're listening. There's a demo of this that I got to look at as well on his, I think it's on his site, or code snippet site where I can see an action.
And there actually was a little bit of nostalgia of well that reminds me of the Marquee of 1996, '97, but it definitely looks like a very smooth scrolling animation, and one of the examples had two marquees going at the same time, no flicker, no anything, smooth as silk.
Manuel Lemos: Yeah, right. I think they used the trick of changing the offset of the elements just to make the elements change the position in the page, and nowadays browsers are very fast in updating.
Michael Kimsal: I guess I am comparing a 2.6 gigahertz processor against a 150 megahertz processor from 12 years or 13 years ago, so I guess there should be a little bit of a difference, shouldn't there?
Manuel Lemos: Yeah. Yes, nowadays HTML and CSS have provided developers other powers that we did not have 12 years ago to manipulate elements on the page.
Michael Kimsal: Was there another class that you were looking at that you wanted to mention, call out?
Manuel Lemos: Yeah, actually there are several interesting. I'll just mention a few because we don't have the time to mention all of them. One of them is SoftXPath by Gregory Movsesyan from Israel. I also hope I'm spelling his name correctly.
And what it does is sort of provides and abstraction to the support of XPath API's on different browsers. Some browsers provide a different set of functions to access DOM elements on the page using the XPath language. And this object provides an abstraction for the different browsers that provide such API's. And this is interesting for those that would like to use XPath in their applications without being concerned with what each browser supports.
And other than that there's also a cute one that was actually published in November. Well we are already gone over Christmas but it's still winter in the North hemisphere. So I think maybe this object that provides a Snow effect on the page by René Teinze from Germany is kind of cute to see the flakes dropping on the page, very similar to real snow. And I thought it would be worth mentioning because it provides this nice effect.
And finally one that I also noticed that would also provide a nice effect is a jQuery plugin to provide a Gloss effect.
Michael Kimsal: Oh, the gloss, yes. I was waiting for you to come back to me and I was going to do the gloss, but you can.
Manuel Lemos: Yes, I got that you also found that interesting, that component by Alaa Badran from Palestine. Well, by the way greetings to Palestine despite the difficulties of living there, they are able to participate in the JSClasses site in sending a nice component, this one gloss. Michael I don't know if you noticed what it does and wanted to comment?
Michael Kimsal: I was looking for a demo.
Manuel Lemos: Basically what it does it sort of provides that effect of like as if you are pointing a light over a shiny surface. And in the case of this object what they do is to provide, implement that effect on top of images so it pretty much seems as if you have an image that is made of shiny material and you are passing it by a light. And it gives an interesting effect that may help you cause a good impression if you use it in your site.
Michael Kimsal: Yeah, actually I'm looking at the code right now and I see how it's done, this is a plugin for JQuery so it relies on. I was looking first and saying well gosh this is pretty tiny, oh yes well it's expecting jQuery to be there already, and with that said it looks pretty compact but I can see exactly what it's doing and yeah that would be an interesting effect, nice.
Manuel Lemos: It's compact because despite the effect causes a good gloss impression, what it does is very simple. It's basically sort of scrolling a gloss image on top of another image. So that's why it's quite simple but impressive I would say.
Contribute to JSMag magazine (50:30)
Manuel Lemos: Now we are practically ending our podcast, Michael you wanted to comment on a few things about your magazine, JSMag?Michael Kimsal: Well, similar to the position that you're in, you're looking for more people to contribute to JSClasses, contribute their code and put up, I too am looking for more contributors to JSMag. We're always on the lookout for good content, people if you've got an idea for, hmm, I learned this about server side JavaScript or I learned how to do this with EXTJS or I learned a better way of sorting or whatever it might be, if you're doing something with JavaScript that has solved a problem that you had, it's probably a problem other people had.
If you've like to write about it and earn a little money on the side while you do that come over to Jsmag.com and shoot me an email and we'll get you hooked up as an author. We touch on quite a lot of topics between mobile and server side and various client side JavaScript.
Hopefully we may have some more WebOS. we had a WebOS article last year, hopefully we'll have some more of those as well too. So almost anything if it's of interest to you and it solves some of your problems we'd like to hear about it, so that's my friendly looking for authors or call for authors pitch for JsMag.
And if you've just written something and you want to share it, you don't want to write a whole article about it you just want to share some code, that's what JS Classes is all about, so get your code in there too.
Manuel Lemos: Well, and as you mentioned in JSMag it would be worth emphasizing that you actually pay for the contributions.
Michael Kimsal: Yeah, I don't know if I should mention a dollar amount or not. It really depends on the size of the article and to some extent the complexity. If it's just kind of quick one or two page here's how I did something it's probably going to be on the smaller end and if we have larger pieces, some people have much, much larger pieces and we end up splitting into multiple like a series of things.
But people retain the copyright, so typically how this works some people will choose after 90 days to republish their article on their own blog, so some people prefer to do that, some people just let us hold on, they don't ever republish it again, so we get a mix but yes we do pay.
Manuel Lemos: Right and also get some exposure to your work because I suppose by now you have a significant subscriber base that will be interested to know about more interesting articles.
Michael Kimsal: It can always go higher. It can always go higher. No matter what the number is I always want more.
But, yeah, what's interesting to me and I'm not going to name any names here, and you've probably seen this as well with your PHPClasses and JSClasses, is you get to see some of the domain names of people who registered, you get to see the domain names in my case of people who've purchased, and there's a very big company that just bought subscriptions to JSMag for their entire development team which is very nice, but it's also an article in there is going to get you exposure into some of the larger companies out there.
Again, I'm not really at liberty to name names, I almost feel like I'm hyping this here some, but it's always fun to me to see oh wow an engineer from company X is now a JSMag reader, oh an engineer from company Y is now a reader, and they take it seriously enough that they're putting down money, they're buying a year subscription and we use that to help fund paying people to write good articles.
Actually one other thing I'll mention as long as we're on this topic is that a lot of people have said to me over the years if I talk to them at a conference they say well I'm not much of a writer. We pair you up with an editor.
So if English isn't your first language or you're not sure how to do something we have multiple editors, some of them are more technical, some of them are more focused on just language issues, but if you've got an idea for something we're going to pair you with an editor and it's their job, they get paid to work with you to make your article better.
Manuel Lemos: Right, so don't be shy.
Michael Kimsal: Exactly. That actually has been a concern, I've had people especially a lot of people from maybe outside the U.S., outside England, Canada, Australia, where English is a native language, and they've said I'm not really good a writing English. You know what and I say look you've been able to write really good code, you know what you're trying to say about it, get a rough draft on it, we'll work with you on it, that's what we're here for.
Manuel Lemos: Okay, good. Well, that's all for now. I hope to get you also on the next episode. Keep listening. And as you mentioned if you have any other interesting news and events to comment on as I mentioned before just mail me at info@jsclasses.org. So bye for now.
Michael Kimsal: Bye, bye, thanks Manuel.
You need to be a registered user or login to post a comment
26,127 JavaScript developers registered to the JS Classes site.
Be One of Us!
Login Immediately with your account on:
Comments:
1. Marquee - Arturs Sosins (2011-02-16 19:14)
Marquee was introduced by Microsoft's Internet Explorer... - 1 reply
Read the whole comment and replies