Multi-touch support for web browsers/web pages - multi-touch

Multi-touch seems to be gathering more and more references worldwide every day. Soon the prices will most likely drop, as there are already a good amount of companies investing in them. Now what I wanted to ask to stackoverflow is the following:
Is it time to start developing an open-source multi-touch api for browsers, like addons to Firefox?
What modifications will we need to do to current web-frameworks to support for multi-touch?
I know this is not directly programming related, thus being community wiki. Just trying to gathering some opinions on it.
Edit: What i'm trying to aim with this is to know if devs would be interested in this, a couple of stuff you could probably do would be like:
Zooming
Increased iteractivity, for example allowing re-organization of the webpage
Multiple persons using the same web-page at the same time.
Why the question (one example):
- Javascript, for example, is not ready to handle multiple actions at the same time. (You can simulate it, but you can't just go to your web-browser with 2 mouse pointers and do multiple stuff at the same time)

Firefox 3.1 already supports multitouch gestures.

Related

Real time web page

I want to build simple web based app, where users, for example, could push the spacebar button, and then do something further, like answer a question, and while other users at the same time only sees that this question is not available any more for answer. When user submits answer, everyone see it.
All right, here is an example. I have seen TV shows, where four players have one button, if one or two of them know answer, they hit a button, and one lamp turns on and the first is allowed to answer, while other keeps their mouths shut. I want to build the same idea, but in the web.
But problem is that, I don't know where to start, what keywords I should search for help on google and so on. I see, that it might work on HTML5, maybe JavaScript and so on.
I have idea using Ajax, but request it every second to get latest actions made seems rubbish. Also I found one service called Pusher, but it has limited users in one time, which doesn't fit my needs.
I need just ideas. Thanks.
Before you read the rest, a disclaimer: I work for Realtime.co but I do believe I can help here so I'm not trying to "pitch a sale".
You can check out Realtime (www.realtime.co). It's basically a set of tools for developers to use real time technologies on their projects. It uses websockets but does fallback to whatever the user's browser supports (such as long polling, for example).
Behind Realtime you have a one-to-one/one-to-many/many-to-many messaging system that will transport your messages to and from your users.
There's also a plus which is the fact that the Realtime framework is actually cross-platform. This means that you can even have your web users communicate with iPhone users, Android, users, Windows Phone, desktop applications, server applications, etc..
You can learn about the JavaScript API here: http://docs.xrtml.org/getting_started/hello_message.html#javascript.
You only need to register at Realtime.co as a developer and start using the free license.
I really hope that helps.
Okey, I think I will go with node.js.
Writing all this previous post, made me think in right way :)

Can WordPress handle these functionalities?

I'm a front-end designer/developer whose weapon of choice for the back-end is WordPress. Up to this point all of my projects involving WordPress were fairly basic and it has handled everything beautifully. I just landed a new client that wants some extra functionality built into his next project and I'm hoping some of you WordPress wizards can give me some good advice while I'm putting together the quote.
I'm trying to limit the need for any subcontracting for the back-end functionality, so my question is whether or not WordPress can handle the following (via plugins or light custom manipulation):
The idea behind the site is to be a community calendar based on location that Health Care providers can log in and post their events to, as well as participate in discussions, blogs and all the other WordPress goodness. The specific functionalities that I'm unsure of the best way to accomplish are:
Full featured calendar that members with access can add their own events to - must be searchable by date/type of event/location etc
Event generator module for members that integrates with calendar - includes upload field for images and forms for details event info
Interactive map to filter both of the above by location (I'm assuming this will need to be flash, but I'd rather find another solution if possible)
I know there are other solutions out there that may be more suited to this than WordPress (Drupal, custom build, etc) but if it's at all possible to tackle this as a one man show then I'm going to charge it head-on!
Stack Overflowers and fellow WordPress fans...your insight would be much appreciated. Thanks in advance for your time.
This graph grants your experience with your weapon of choice, but the results are still clear. You can still tackle this as a 1 man show, it will just take a bit of a learning curve to conquer the fundamentals of a CMS more suited to the task at hand. I'm sure plenty of WordPress affecionados will come along and strangle my reputation, but I've worked with both and have found that in terms of flexibility, WordPress is not king, and for the custom coding you are going to have to do (hope you have some PHP?), I feel that you will find it easier to integrate with another platform. This task will be difficult if not impossible to accomplish without writing code, even if there is a set of plugins that appear on the face to match your needs perfectly.
But anyway, since you probably don't really care that much about my opinion, for WordPress, your plugin options look like..
Calendar - Events Calendar
http://wordpress.org/extend/plugins/events-calendar/
The screenshots don't look terribly promising though.
Most plugins I have found are geared toward being administered from the admin panel, it may be difficult to provide a user interface to such plugins, and it does not look like the event calendar is an exception. An experienced developer should be able to hook into the event publishing code with relative ease, but it could be a frustrating experience for the inexperienced.
For interactive maps, the Google Maps API is very feature rich, and you should be able to adapt it to your suit your mapping needs, regardless of platform.
If you want all of your providers to have their own blog, etc, what was once the WordPress MU plugin, but is now core-bundled WordPress MS (multisite) is what you need.
This again may also prove rigid, and you may encounter difficulty trying to bend the iron of WordPress enabling all your multisite users to be able to post to a common community site. I've only built 2 platforms with MU, so I'm not positive about this.
To unapologetically reiterate my first point, what would be light custom code may turn impossibly frustrating using WordPress.
I like WordPress, and choose it often for my clients. I have never extended it to suit a larger project.
If you do decide to use it, I look forward to hopefully helping you with any questions you may have along the way, feel free to ask.

Ethical Dilemma: Should I still cater for IE6 as a web-developer [duplicate]

This question already has answers here:
Closed 12 years ago.
Possible Duplicates:
IE6: To support or not to support.
Should we support IE6 anymore?
I'd hate to (HATE TO) admit it, but there are some people still using this browser. A client of mine is facing an issue where the "transparency" area of a png comes out a light grey - ONLY on IE6.
I know it's an unsupported browser, but some people STILL use it. I'd love to have a little discussion about whether or not I should choose to support it.
One point pro-support of IE6 is that often in large organisations, the update of systems is often unimportant to their IT department, so theres a large proportion of people working in these organisations that still use IE6. Schools are the same.
One point con-support of IE6 is that Microsoft no longer offer support for it, and it is considered a defunct browser, so why should I waste my time catering for it.
It is a little bit of a dilemma. I'd love to hear other peoples responses to this.
One point con-support of IE6 is that
Microsoft no longer offer support for
it, and it is considered a defunct
browser, so why should I waste my time
catering for it.
Because it's not Microsoft you're catering for, or people who consider it a defunct browser, it's people using the browser, aka your customers. By all means, don't take on customers who have a requirement that you support IE6 with websites you produce, that is your chocie. But if you're getting paid for it, I'd hardly call it "wasting my time" =)
For my own sites I do not bother with being pixel perfect and having identical functionality in IE6 but I do like to make sure that the site is accessible and functional at a basic level. That shouldn't be too hard and it'll probably be useful for web crawlers as well.
I don't see an alternative. In fact, I dare say it wasn't very professional of you to put a commercial site up that doesn't support IE6. Your site should work on all browsers - cross browser compatibly is part of our job.
In reply to the comments, here's what I mean when I say professional:
It is expected of you to know IE6 is going to be a problem before you start.
Target supported browsers must be part of the contract. Before working on the site you should ask who will be the target crowd and make that decision together. If you need to support IE6 your cost estimation should be higher.
It is expected of you to at least test the site or all browsers (yes, including IE6, knowing that it isn't quite dead yet - you don't have to like it though).
IE6 doesn't support PNGs, has weird box model (so don't use width+padding), etc etc... Every time I consider using a PNG, I take a note - this wouldn't work in all browsers. You are expected to know that or find it in the test you've made.
Full disclosure - the site doesn't look or behave exactly the same on all browsers? When you present the site, explain how and why, and how it will effect end users. This may sound silly, but if you don't have IE6 in your contract, your client may not be too savvy. Your client is going to find out eventually the site doesn't work on IE6 - most likely when the site breaks for of her friends or clients, making her look bad. That knowledge better come from you.
I agree, making web sites display correctly in IE6 is tiresome. Being a web developer for a multinational pharmaceutical company I would know, they are still required to use IE6.
But there's another point to this. If we, the web developers as a group, continous to cater for IE6 then the large organizations have no reason to upgrade. Are we then responsible for people using IE6?
At our firm we have decided not to support IE6 in the administration part of our CMS, but we do cater for IE6 to the public eye.
The client mentioned earlier runs an old version of our CMS and is so stuck there although we and the administrators are willing to upgrade. In other words: Stuck between a rock and a hard place.
It depends who you expect to use the website.
Some recent figures for use of IE6 in different places make interested reading.
If your client still uses IE6, then you are probably going to have to give in (or convince them of their evil ways). Otherwise it might be worth explaining the numbers involved and the additional cost to cater to them - if it takes x hours of your time, does your client really want to pay for that?
Count yourself lucky you're not trying to cater for the Chinese internet user-base...
I make the site work in IE6, but have a banner that comes down pleading with the user to upgrade to experience the awesomeness of this century.
Example page that shows the banner
My opinion is that the site has to be USABLE.
Eye-candy is good, and should be given to as many users as possible but, the question is: does the gray background of the image render the site impossible to use?
Supposing you have a substantial IE6 user base, are these users really complaining about that?
Or do you have 1 person out of the 100 that use IE6 complaining?
Now people say that the clients pay and you have to do what they say etc etc... Well, it's YOUR role to TEACH the client why IE6 should NOT be supported anymore.
Show them that:
1) the site WORKS (i.e. you can read content, submit forms etc), so the IE6 users will be able to use it
2) you can put some "hints" like "you have a crappy browser, don't complain if websites suck with that" (maybe in a slightly more polite way)
3) show them that even Internet giants dropped support for IE6. Why should you keep it? Do you really want to live in the past?
Depends on your user base and would need to be agreed with your client. For an intranet type application you may be able to avoid it. For public applications - government, banking websites, anything the public may rely on, you need to consider it still.
For more luxury type sites, e.g. 'brochure-ware' for a small business, you may be able to take a call on this, but again depends on your client's requirements - do they want to potentially turn away some business? If you can make it fail gracefully (i.e. still looks ok in IE6, but with less bells and whistles), then you have more chance of selling this.
How much money do you earn from the customers who still use IE6?
How much resistance is there within those companies to upgrade from IE6?
How much money will it cost you to support IE6?
We are software developers. We make tools to make life easier for people ("users").
If a user of your software is using IE6, and you refuse to offer that user support until he/she upgrades to a newer web browser, are you making life easier or harder for them?
I'm actually not asking this question rhetorically, believe it or not. It may be that for you to support an older browser takes away too much of your time, keeping you from developing features that would be of greater benefit to the user.
My point is that you need to ask yourself what is best for the user, not whether catering to someone who's using an old version of a piece of software (who isn't?) is somehow beneath you.
I like this approach: http://morten.dk/blog/ie6-tax-now
Normally I would say that IE6 and IE7 is not supported by default, but the client can pay an extra price for supporting legacy browsers (the website will cost 30-50% more depending on the website requirements).
It might be also a good idea to get information from similar sites. One of our newest deployed site has 2-3% IE visitors (including all IE versions), and the IE6 and IE7 users are below 1%. So we decided not to support IE 6 and 7 at all (we don't test them), and we give full functional support for IE 8 (the site is usable, and looks OK, but it isn't as sexy as in a modern browser with a better CSS3 support, which means that there aren't any gradients or rounded elements). But this site is a little special case.
So I say that analyze what kind of people will visit your site, and make a decision based on that information.
I've never understood the idea that this is some sort of "ethical" issue.
If it's around a client then it's a commercial issue.
If your contract says that the site you've developed will support IE6.0 then yes, you should support it.
If it doesn't it's up to him to work out whether he wishes to pay you more to fix any issues that come up with it.
(If it's not specified then you need to make sure you specify it in your next contract otherwise you're open to requests to support anything your client fancies).
In terms of whether it's worth him supporting it, it will depend on his market. I previously worked for a travel firm whose core client base was people who were aged 40+ which 12 months ago was still registering 30 - 40% IE6.0 usage. In that instance IE6.0 support for their site is critical but obviously each site has a different user demographic and that will dictate your approach.
But an approach based on "principal" is unlikely to be the right way to go, you need to have specific commercial or technical issues which mean that the cost of supporting the browser is greater than the cost of not supporting it.
This is a great discussion. My customers are car dealers and while IE6 useage is declining, it is still 12.5% of my traffic. I have actually seen PC's running Win98 in these stores. Amazing!
We've segmented our catalog product into different interfaces for them to pick from. We're getting ready to launch a new one and we're close to making the decision that it will not support IE6. They can still choose one of the others that still do, and we will continue to support those but not enhance them.
So I can finally embrace sprites and transparencies and ... :)
You can't make a horse drink the water, but you can sure as hell lead him to it. What's the point of going forward in browser technology with advanced engines like Webkit and Gecko, if we still allow stupid, uninformed users to visit our websites in IE6 without any interruption?
Then all web standards are redundant and we can just go ahead and make browser-specific websites, which ultimately will become online applications. I would say, educate your user, after all, if you don't, who is going to do it?
We have made a conscious decision here at our design studio to alert IE6 browser-users that their browser is too old and that they should upgrade. We have not encountered any problems so far.
One should take into account that if you are hired to develop specific IE6 web applications, then you really don't have a choice in the matter, but if you are part of a design studio developing forward moving websites implementing new technologies or advanced Javascript, then I would say forget about IE6.
After all, the internet is full web developer handiwork and if we decide it's over, then the revolution will come.
// edit
If you want to make stuff a little easier for yourself, using CSS, start using BrowserDetect.js CSS browser detection. It's initialised using jQuery and simply adds a browser-specific class to your body tag on load.
In other words, if you're running Safari 5, your body tag will look like this:
<body class="browserSafari browserSafari5">
This enables you to create browser specific CSS styles without any hacking of sorts.
That was my last 2c.
I didn't see this point anywhere above, but I apologize if I missed it.
It's interesting that you say ethical, because I think moving standards for technology forward is one of those responsibilities that we have as consumers and as developers. Moving towards SVG and HTML5 and CSS3 is really good for the industry, because it means more efficiency and a better, faster web.
It may not be best for the client if their site doesn't support IE6, but if developers move on from outdated technologies en masse, it forces the last users of those technologies - in this case, businesses and schools and stegosauri with IE6 - to update their browsers, which is not a negative thing. It's OK to make decisions for the good of the industry as a whole, and we should more often.
It really depends who will be using your app! If your client is the UK gov, then yes, you had better develop for IE6 as it's the only browser in use (due to legacy systems that will ONLY work in IE6)
If on the other hand your client all use Safari, then no you don't have to bother.
Users will not stop using IE6 if all websites still work perfectly with it as they then have no reason to change.
This is bit of a "deadlock" which can only be broken if applications stop supporting IE6
Make the users aware that they are using an unsafe and out-dated software, e.g. with something like:
This webpage will not work (well)
with IE6 because that browser is
insecure and no longer supported
Most of the time you can also convince the customer by explicitely stating how much it will cost to support and maintain the application for an unsupported browser. This will usually be a significant amout for any non-trivial website...
The question really is how much degradation do we make IE6 users tolerate? My feeling is: quite a bit. I'd much rather this minority took the pain instead of holding back everybody else. Since our sites are all (naturally) semantically marked up and pass accessibility guidelines, they will make sense and work just fine with styles and javascript disabled. So the simple answer is to give IE6 users the old Netscape 4 treatment and disable all CSS and js for them.
I would definately suggest customer to upgrade with following points.
Technically no updates are provided by Microsoft for IE6, if they do not upgrade their browser, they should be made aware of all security issues they have left open by not upgrading, such mild threats do work and its right as well. Plus you can certainly recommend firefox, as Microsoft never completely implemented html standard and in large organizations, standard, compliance and security these are always considered as big things and you can certainly point towards them and get your update done.
No.
I have a client that requires for his pages to work in Netscape Navigator because he uses it.
That doesn't mean that I should prepare all my pages for last historical version Netscape Navigator.

Developing Geo-location apps for the iPhone

How does one build a directory of 'Spots' for users to check-in to in a native iPhone app? Or, does the developer borrow data from, let's say, Google Maps?
When you Use data obtained from another network or source, you take a risk that the data may change and or may not be accurate, The data may cease to exist, (more so with google, LOL, one minute they are there like gangbusters, the next they are like "Gone" no explanation no apologies, just missing in action, if your developing an application for a business its always best to use your own data sources.
That may be more expensive but its the only way you will have any kind of control over your application resources,.
You can go both ways, it depends on what you want to do and how you designed it to do it. You can have a prerecorded and static database of spots, or you can update it sometimes connecting to some server or you can do it all dynamically by loading each time data from the internet.
Which one to choose? first you shall design your app having in mind something like:
How many times will these datas change
How frequently will these changes happen
How much will it cost to do an update
and so on
Developing your own database of places is likely to be quite an undertaking (and your competitors have a big head start). Google is beginning to provide their Places API for "check-in" style applications, so you may be able to get in on their beta.

Development team collaboration via Google Wave

I hope I am not repeating any previously asked question.
Anyway, so Google Wave is nice and shiny and sounds like a lot of folks(at least at Google I/O :) used it in a useful for work(!) way. I've been beta-testing Google Wave for sometime now, but can't quite grasp how to improve our workflow using it. We have a medium size team of developers that are spread out around US and Europe and naturally most of communication is happening via IM and Skype and email of course. So what are specific things that could be offloaded to Google Wave to improve collaboration by leaps and bounds(meaning not just replacing IM with nicer IM)?
I do not think Google Wave will ever replace "communication" tools, so you won't be able to offload much in terms of IM/Skype/email (and imho the ping feature in Google wave kinda sucks).
What's it's great for is collaboratively and concurrently editing content in the chaotic initial phase, be it documentation, emails, press releases or whatever. Then once documents are stable I find it's easier to manage them as Google docs, which can still be versioned but in a more mature environment.
Also, I think Wave would be great for concurrent programming, and I am hoping someone will put together a code-completion/syntax-highlighting extension for concurrent programming (would do it myself if I had time). it would change "pair programming forever", and at least that way the other wouldn't just sit there occasionally trying to grab your keyboard!
Notifications.
Unload the daily/hourly/whatever notifications about people pushing git updates, how many errors were found, etc onto Wave for people to monitor and respond to instead of making them filter all sorts of email notifications.
Hey, youll be happy to know Devunity.com is finishing up a Google Wave/App Engine + Eclipse Perspective team collaboration. it will let you post your code automatically into a created wave and syntax highlight it side by side with your current code.
be sure to check for updates http://beta.devunity.com.
coming soon! :)
We're working on a desktop app here that leverages email communication to help teams succeed with projects. The app represents email communication in channels, as chats, and adds project related info so that all ownerships and requests could be tracked.
It is in "beta" but check it out, may be there is a fit for your team: http://yoxel.com/personal-commitment-manager.html