Skip navigation.

Web Applications Blog

Posts tagged with "web chat"

Web Developer Chat: Håkon Wium Lie on the <video> tag

, ,

Some folks have been curious about a little project we cooked up over on Opera Labs: The <video> element.

One of the main provocateurs for the <video> tag is our very own CTO, Håkon Wium Lie. He'll join us on Wednesday at 5:00 PM CET (check the time where you are) over on #webapps to explain why we want to make video a "first class citizen on the Web." Please join us for this exciting chat.

Web Developer Chat: Jon von Tetzchner

, ,

You may have seen we're approaching the 1001st widget on widgets.opera.com. 1001 widgets is a milestone we want to celebrate properly with the readers of this blog. So we invited a special guest to our Web chat next week.

More than 11 years ago, Jon von Tetzchner and Geir Ivarsøy huddled in a darkened corner of Telenor to create what would become Opera. Fast forward to today and Opera is everywhere. That success is due in no small part to Jon and Geir's original vision to make Opera small and portable.

And now we're sitting down to chat with the main man himself. Please join us next Thursday, March 1st, at 5:00 PM CET (or whatever the time is where you are) over on #webapps.

See you there!

Web Developer Chat: Opera's Web Developer Toolbar

, , , ...

As you may know from the Desktop team blog, we're planning to include the developer console in future Opera editions. Over on dev.opera, we released the tools separately: a DOM Console, CSS Editor and DOM Snapshot.

But before these tools go live in the browser, we need your feedback. What works well, what doesn't, what tools do you need to make your jobs easier? What we have now represent the first step, and far from our last, but we want to make sure we're doing our best to give you what you need.

So joining us this week is Christian Krebs, with whom you spoke last year, and Helmers. These are the two masterminds behind the tools. Swing on by this Thursday at 5:00 PM CET (check the local time where you live) over on our usual channel: #webapps.

See you there!

Web Developer Chat: Håkon Wium Lie

, , , ...

Alright folks, I don't think I have to say a lot about this one. He proposed CSS. He's been one of the major proponents of the ACID2 test. He's currently working to get Opera on the little green machine.

So please join us for what will be one of the coolest chats we've had in a long time when we welcome Mr. (technically Dr.) Håkon Wium Lie. He'll take questions on any of his many passions: CSS, ACID2 (or 3), microformats, the One Laptop Per Child project, Web standards.

But we'll have a special time this week: Wednesday from 5 to 6 PM CET. We hope you can join us over on #webapps.

Web Developer Chat: Server-side development

, , , ...

We celebrated the rebirth of our weekly Web chat last week with David Storey, Opera's Chief Web Opener. It was great to see some new faces in addition to the core group who consistently join week in and week out.

This week we're joined by Ole Kasper Olsen, in Opera's Information Systems department. Ole Kasper has a straightforward job description: keep My Opera running. So it's no surprise that he knows a thing or four about the server world.

When these chats have focused on Web applications, we've talked mainly about client-side development. With Ole Kasper, you can ask any server-side questions. If you have some burning questions about MySQL, Perl, and Apache, just bring them over to #webapps tomorrow, February 1st at 5:00 PM CET.

Web Chat: Widgets 1.0 Working Draft

, ,

You may have seen the recent news that the first working draft of the Widgets 1.0 specification has been posted. Ajaxian notes the benefits of working toward a widget standard.

With all the action going on, we're pleased to present this weekly Web chat with two Opera folks heavily involved in the process: Arve "Virtuelvis" Bersvendsen, a member of our Web Apps team, and Anne Van Kesteren, one of the spec editors.

We hope everyone can join us at the regular time (5:00 PM CET) tomorrow, Thursday the 16th. We're over on #webapps as usual.

Web Chat: Talk to the French Guy

, ,

Mathieu "P01" Henri will be online today to answer your most obscure and difficult questions about JavaScript and widget development. This is another one of our Web Apps beasts. His homepage has some cool demos from his past, such as his DHTML contests. 256b?!? Check it out. And don't forget to join us today at 5:00 PM CET over on #webapps.

Web Chat Transcript: Dev.Opera

,

We had a great Web chat last week about the new dev.opera.com. We've had a lot of success since the launch and that's in no small part due to the readers of this blog. Thanks guys.

Anyway, here's the transcript. Be sure to keep your eyes on this blog for the topic of this week's chat.

-------------------------------

nicomen: you can already ask questions by messaging Pony with /msg Pony !ask What is the answer to life, the universe and
everything?
shoust: we... can... chat!
nicomen: sure
nicomen: anyone visited the dev site already?
aleksanteri: ME
Orcinus: sure
jax: I have seen it too
ROBOd: of course i visited the dev site
Ramunas: me too, nice article nicomen
ROBOd: jax: coolies. you like it?

jax: It is getting better, and that is good
ROBOd: yep, it does
Gautam: Ok everyone! the time has come to start the chat
Orcinus: oh boy!

Question from dante_: regarding Widget development: would you consider hosting common server scripts on
dev.opera: e.g. to support score-keeping, peer2peer communications, even small graphics scripts (say, to generate icons), etc.
jax: Yes, we would definitely consider that. The criterium for articles is that they should be useful.
jax: and depending on the feedback we get, server-side support can come in just as client-side.
nicomen: I think he also means as in actual tools and backends.
jax: But we will be doing one thing good and then advance.
jax: Tools are one thing we can consider, yes.
jax: The idea is to make life easier for developers, after all.

Question from dante_: what is labs.opera.com doing ? something secret, no doubt..
jax: Shhh...
jax: Labs will continue doing what it has been doing up until now. The difference between the sites is that Dev Opera
is a community geared towards web developers producing sites and applications.
jax: Labs is more about the technology making it possible.
nicomen: and maybe sneak peeks into cool new stuff.
jax: There will be more cooking from the Opera labs in the future.

Question from danigoldman: Can you explain the meaning of "Break the rules" in the tagline for dev.opera?
jax: Both good design and good development is about rules, and how to apply them.
jax: and the way to make truly great design is to be familiar with the underlying rules and knowing when to extend, "break", them.
jax: It is easy to be too rulebound in design, but without them you end up with a mess.
nicomen: "The rules" I'd guess is the conventional way of doing things on web, for instance some dominant web browsers have been holding back the web due to not supporting new and cool technologies. I believe we and others want to show you
how to break this rules and make new and interesting content and applications.

Question from danigoldman: How often will new articles be posted?
jax: When they are ready... The frequency will vary. I don't see it as a goal to produce the most in the smallest
amount of time.
jax: but that the articles we have are going to do good.
jax: Practically speaking: There will be continous new stuff. You can expect more real soon now,
jax: one of my favourites in fact. Then this is supposed to be a developer community where people can post their own experience.
jax: We hope to see a lot of interesting content from you too.

Question from shoust: Regarding the javascript libraries, will there be any testcases or widgets that represent the functionality of these libraries?
jax: Yes, there will be. And tying in to the previous question,
jax: maybe there will be others showing off what they have been able to do with those libraries.
jax: But yes, we will publish that.

Question from aleksanteri: What does AJAX/POST do? for what is it used?
jax: I wouldn't consider myself an AJAX expert so I would forward that to others to complement.
nicomen: I asked aleksanteri in private what he meant, and he is asking wether one can use POST/PUT in widgets
jax: Ahh, that is OK.
nicomen: XMLHTTPRequest which is the foundation of AJAX is sused to fetch content from the network from within a web page
jax: Widgets can do that.
nicomen: GET is one HTTP method that can be used but at least POST should also be possible.
nicomen: POST is normally used when submitting large amounts of data, when you don't want parameters to show up in regular web server blogs, or if you want to POST an XML file or other content that can't be sent as a regular GET request.

Question from jsaucepn: Will you be approaching community members or outside contacts to write articles on specific subjects, or will you focus on encouraging people to submit content themselves?
nicomen: they should work in regular web applications and in widgets.
nicomen: I'm not sure how well PUT is supported in XHR
gormewe do not support it.
jax: Yes, we have already done that. The first SVG theme was made that way.
jax: we looked for people that really knew SVG and they have answered.
jax: But we are just as interested in experience from developers at large.

Question from ROBOd: The question about test cases got me interested. Could dev.opera.com host test cases for various web technologies? There could be a section where web developers see batches of examples. These are also good for UA testing, and for UA regression testing.
jax: That would be great. But I don't think it will be the first thing we would do.
jax: It will take some time to do well, and we should take that time.

Question from ROBOd: Would dev.opera.com host tutorials in other languages than English?
jax: Not immediately.
jax: But it is something that could happen eventually.
jax: The Web is capable of handling multiple languages, and so could we.

Question from albertrosa: have we decided which type of articles would be best appropriate. As for myself I take close and personal relation to Mobile Technology and development of tools.
jax: We want to have a certain depth in our content, not just a post-and-forget article about the topic of today.
jax: So, for instance Mobile Technology is such a subject that we would like to expand on.
jax: That said this is a general developer site, and we are not going to restrict ourselves to very narrow categories.

Question from shoust: Will there be some interface of allowing files to be uploaded using xmlhttprequest in widgets?
jax: There are security implications to that question, so we don't do that now.
jax: But as widgets are web applications, and web applications can upload files if the security is properly handled
there is no reason why we couldn't.
TarquinWJ: uploading to a server may already be possible using a file upload, and replace="values" (from Web Forms 2) on the form - although I must admit that I have never tried that with file uploads.
gorme: Will probably be fixed with the File Upload W3C specification. However, the spec work has just started
(http://www.w3.org/TR/file-upload/).
jax: And it is likely that there will be more to choose from in the future.

Gautam: Time for a TShirt!!

Gautam: So, I'm going to ask a question and the first person to post the answer to Pony - wins the TShirt.. simple.

Gautam: What licenses can you use while submitting articles to dev.opera.com?

aleksanteri: Creative Commons Attribution, Non Commercial - Share Alike 2.5, Creative Commons Attribution, Non Commercial - No Derivs 2.5

Gautam: Congratulations Aleksanteri! Send your address to gautam_chandna on my.opera.com and your TShirt will be with you in no time.

Question from danigoldman: Are there any plans to host developer tools on dev.opera? For example, an Opera Mobile simulator, where developers can test their sites for small screen compatibility?
jax: That may very well happen, but not now in the beta test phase.
nicomen: Mind you that you can test small screen compatibility by simply pressing shift+f11 in Opera, and or resizing a tab to the target device's screen size.
jax: And we already have an Opera Mini simulator, by the way.
Gautam: Its located at: http://www.opera.com/products/mobile/operamini/demo.dml.

Question from albertrosa: will other webApps chat as well as this one be available for others to read in the new Dev Center
jax: At least we can cross-link to them. But that is content that could be interesting.

Question from ROBOd: Can we contribute with tutorials about server-side technologies? If yes, which?
jax: Yes, it is not limited to client-side, though that is likely to remain the focus.
jax: That said, we would prefer to have content that adds to the other content we have, so it should have some relevancy.
jax: In other words, now a server-side tutorial on SVG or Voice would make sense.

Question from ROBOd: Given that tutorials about server-side technologies are allowed, authors will want their scripts to run on the dev.opera server. Will this be allowed? Under what restrictions?
TarquinWJ: I think the simplest answer there would be "no"
jax: Articles on Dev Opera will not have either server-side or client-side capabilities, so this is a question for the
examples.
jax: And for the most cases TarquinWJ's answer would be the right one.
nicomen: Examples can very well be pages on the author's own page or another live system.
nicomen: Screenshots will also do many times.
jax: Yes, but that has practical implications, like server availability.
nicomen: yeah, just saying it's not required to have things running on dev.opera.
jax: Yes, and we have no problems with pointing to external sites.

Question from aleksanteri: How important is DOM Level 3 developing? Will it be implemented soon/near future/not yet/in the future?
jax: DOM level 3 matters for some applications of JavaScript.
jax: including things like Opera Platform
TarquinWJ: XPath, for example was important, so it got implemented.
TarquinWJ: but many parts of DOM 3 are not ready yet
nicomen: http://www.opera.com/docs/specs/#dom
jax: It is also highly useful for many other applications, like widgets.
jax: When it is done? That is a question for W3C.
jax: There are many, not only us, that have an interest in seeing it done.
jax: We have been very close to the metal here, and implemented it early.
nicomen: (we already support DOM Level 3 Load and Save and DOM Level 3 XPath with some exceptions in Opera 9)

Gautam: hmm... hey nicomen, what time is it?
nicomen: time for a t-shirt!
Gautam: perfect!
nicomen: for me?
Gautam: no, for anyone who can answer my next question.
TarquinWJ: I can answer it.
nicomen: Gautam: so what's the question?
Gautam: mention five general purpose shapes you can draw with SVG. (for answers, take a look at our articles on dev.opera.com.)
Question from aleksanteri: circle, rectangle, polygon, line, polyline.
Gautam: hey! aleksanteri, seems like you're on a roll.
nicomen: good suggestions by many others though.
nicomen: http://dev.opera.com/articles/view/22/ <-- might want to read up on that one.

Question from sign666: Why do you thunk Opera should rule world?
TarquinWJ: rule makes it sound like a monopoly.
jax: I think a better approach than ruling the World, or in this case the Web, is to allow people to cooperate.
jax: To be able to do that we will need open standards.
jax: Supporting such open standards is something Opera Software is committed to, and so is this developer site.

jax: I have a question for you: What would you want from Dev Opera?
nicomen: I think Opera wants to help users and developers to rule their own world.
jax: You can answer that question on http://dev.opera.com/forums/topic/164958
Gautam: Time to end this week's webChat
Gautam: I hope all of you found it usefull and informative
nicomen: aww, already...
Gautam: please visit http://dev.opera.com and post questions and suggestions in the forums - see you next week!

Web Chat Transcript: JavaScript with Christian Krebs (Aleto)

, ,

We had a good technical discussion going last week. Thanks again to all of you who submitted great questions - Christian enjoyed it tremendously. Perhaps we will have him back some time in the future.

Keep following the blog to see what we have lined up this week.

-------------------------------

OperaWebApps: Hi Everyone. We go live with Aleto in two minutes. If you would like to post questions now, we'll start answering at 5:00.

Question from dante_: Same question as last time: how about them libraries? Can you give us quick hints, ETAs, maybe save a little wheel invention?

Aleto: Libraries are still in the works, of course. I wrote the animation library, and I'm working on some more. But right now, my focus is on a couple of other important projects.

Question from GreyWyvern: Is there (or will there be) an easy way to disable input methods for widgets and then whitelist the ones we want to allow (perhaps in config.xml)? The huge number of keyboard shorcuts in Opera are a pain to disable for instance.

Aleto: Could you clarify what you mean by input methods? Do you mean strictly keyboard shortcuts?

Question from GreyWyvern: Mostly keyboard shortcuts, but also other things, like if the user has voice enabled and tells the widget to "speak"

Aleto: With JavaScript you cannot override keyboard shortcuts in Opera. I don't know of any plans to change that.

Aleto: Jsaucepn - Hi
Aleto: I'm impressed with your widgets!

Aleto: We have no technical questions today?

Question from FataL: Question: Whwn creating widgets what is the best way(s) to grab data from the remote site if its source code has ID that points to the part that I need?

Example: I already have full source of desired page that has ID "data1" in variable named FullSource. Unfortunately I can't just do FullSource.getElementById("data1").

Gautam: The ways I know are:
1. put FullSource content in some hidden (display:none) DIV element. Than do document.getElementById("data1")
2. use XPath...

Aleto: Another way is to create a new document with document.implementation.createHTMLDocument("") and parse the source into that document.

Aleto: Then the method getElementById is then available in that document.

Question by dante_: (addon to the previous question) 3. DOM3 Load/Save (versus the AJAX implied above)

Aleto: DOM Load and Save is, in my view, dying. The way to go is XMLHttpRequest.

Question by dante_: Any tips on having pre-cached (online) data bundled with the widget?
1. XML (then new XSLTProcessor().transformToFragment)
2. data as source code (JS arrays/JSON)
3. use another way

More so, how to be less memory- or processor-intensive with the 'Switch to language' feature (i.e. keep lots of strings and change all widget texts on user's choice) ?

Aleto: Personally, it depends a little bit. If possible I would keep as much data as possible on the server side. If pre-caching is needed, I would put that as object or arrays in a .js file.

Aleto: If it's really memory consuming, then I would keep that information or data on the server and load it in the .js file when needed. This is in my experience very quick.

Question from jsaucepn: What do you think of the object-oriented features of Javascript? What method do you use for inheritance, or do you avoid it?

Aleto: There is no proper way for object-oriented programming in JavaScript.

Aleto: The problem with the "clean way" of using inheritance in JavaScript is that it is not possible to use private methods or properties in classes.

Aleto: It depends a lot on how many instantiations from an object are really needed to decide which programming techniques are appropriate.

Aleto: But the normal way for inheritance looks in general like Subclass.prototype=new BaseClass(), in short.

Question from shadow: Could you explain the ow_timer object? why are you using it? what is the basic idea behind it?

Aleto: The basic idea behind that is to single-thread all animations.
Aleto: This helps the animations work on a single timeframe.
Aleto: Back to the oop question, in ECMAScript 4, we will have real classes and inheritances, as I have seen in the drafts.

Question from shadow: And when will ECMAScript4 be released and supported?

Aleto: I have no clue, but I hope very soon. As far as I know, Flash 10 already uses some features from ECMAScript 4.

Aleto: The standardization process always takes longer than we wish it would take.

Question from dante_: would you consider a didactic reviewing of a widget ? strong points, weak, alternate.. pick one from widgets.opera.com and make a tutorial, of to-do's and not to's

Aleto: That is a very interesting suggestion. I have a lot of things on my agenda for now. Do you have a certain widget in mind? We can have a small talk right now.

Question from dante_: the spotlight-ed ones.. i assume the reviewers know the best ones

Question from shadow: Can you tell us anything about the mysterious new js libraries that opera is making?

Aleto: We have already made a lot of libraries, but we still have to clean them up

Aleto: If I had more time, I would experiment with the fact that we can store a large amount of data.

Aleto: That is actually the big difference of a widget from a webpage, where we are bound to use cookies.

Aleto: I would like for example to make a real calendar, where you have all your dates local and you syncronize them with, for example, a JSON library, to a server.

Aleto: So, widgets that use these features which are different from a webpage are the ones that I would like to see.

Question from shadow: What exactly will these js libraries do?Ajax?DOM manipulation ?cookies?

Aleto: I know a lot of libraries which do wrap the xmlHttpRequest object, but myself I dont really see the need for that.

Aleto: The libraries will try to make it easier to handle general tasks

Aleto: I have tested myself, upto 1 megabyte is possible. but I dont know where the limit is.

Aleto: What do you feel are the limitations in widgets, in a general way?

Question from shadow: if i can store upto 1mb in the widget prefs...could i then let's say.....store all my js code in the widget prefs?and maybe all the images too?(using the data:uri version of them)

Aleto: Yes, that should be theoretically possible. Just try it out!

Question from shadow: Limitations?Lack of access to the hdd and lack of access to the system stats

Aleto: Yea, system stats would be nice!

Question from dante_: update system

Aleto: dante_ what do you mean by update system?

Aleto: Oh sorry, I misunderstood. I thought that was a question.

Question from dante_: maybe better interaction: sounds when not focused, alerts...

Question from shadow: ohh and maybe the fact that i can't start opera in hidden mode(ctrl+h) when i start my pc

Question from dante_: i would like to see opera manage the updating of new versions of widgets

Aleto: dante_: Yea, that is something I would like to see as well!

Question from dante_: i remember i needed a hashing library: md5, maybe crc32.. would you be so kind to add to the list ?

Aleto: Yea yea, we will consider that.

Aleto: Any questions left? I have to go back to my work

Question from grafio: It's very easy to "hack" JavaScript. Is it possible to secure a widget from hacking? In a game widget for example? Any tips?

Aleto: In general, I dont think there are ways to obscure javascript. (look for example Google Maps)

Aleto: It's not really obscure, you can still reengineer it - but its very hard.

Question from dante_: it's all in connection with 'logging in to sites' and other sensitive operations.. since there is no https support in XMLhttpreq. do you have any technical recommandation for now ?

Aleto: xmlHttpRequest has to work with https. If you have any test case, please file a bug report

Aleto: Outside of https there is no secure way of communicating

Question from shoust: Are you planning any login libraries so it could be possible to have like a full del.ico.us service in a widget for example?

Aleto: I think you should be able to login with xmlHttpRequest

Aleto: Guys, I have to go back to work. Thank you very much for the nice chat, I will take with me some of the things we have discussed here.

Aleto: And I hope to see you again.

Widget Web Chat: How to Win the Widget World Cup

, ,

We had a great chat last time. There was clearly a lot of interest in the Widget World Cup. Rather than move on to a different topic this week, we'd like to continue talking about the Widget World Cup. This time we're going to focus on what you can do to emerge from the first round and then take on the rest of the world.

So please join us this Thursday at our usual time (5 to 6 PM CET) over on the #webapps channel.

Looking forward to our usual suspects and a few new faces. And, just in case, some lucky people might want to have their t-shirt size handy... :wink: