When you’re talking about designing a website for your business, it always pays to pay attention to what the Web can do these days — and there’s a surprising amount of options out there that people just haven’t heard about. Check these out:
Communicate Events Quickly with WebSockets
HTML was built to create static webpages; most “dynamic” websites are just constantly pinging their servers and refreshing the screen. WebSockets create a full, two-way communication channel over TCP/IP, which allows your browser to communicate with massively reduced latency — so quickly that you can easily play RTS games that hold the game data server-side, for example, without needing to abuse Flash to do it.
Play Music and Videos
HTML5 is sweet for several reasons, but one of them is its ability to play videos in MP4 format (among others) without needing Flash to do it. Furthermore, it can do so on mobile devices that aren’t happy about Flash or Silverlight — the only downside is that HTML5 doesn’t play well with DRM, so if you’re worried about piracy, you won’t want to take this route.
Drag and Drop Files Into the Browser Window to Upload
There’s no need to get all caught up in those infernal file choosers when uploading anymore — with modern web standards, you can choose areas of your site to function as “drag-n-drop boxes.” Just be certain that you clearly label them and tell the user why they might want to upload and what you’re going to do with the file.
Render 3D In-Browser
With the advent of WebGL, stepchild of OpenGL, many modern browsers — notably FireFox and Chrome — can allow webpages to render 3D graphics without needing a special plugin to do so. Google Maps uses this functionality for Street View if it’s available.
Run Web Apps Even When There’s No Web
Browsers nowadays are trained to cache just about everything — including, among other things, web apps in their entirety. You can have a website that, even if the computer isn’t online, can be pulled out of the cache so completely that, for example, Gmail or the Kindle Cloud Reader can be used for everything that doesn’t involve sending or retrieving new information.
Yes, your webpage can be set up to access a user’s webcam — with their permission, naturally — and with the new WebRTC API, can host a video conference between different web browsers without any plugins necessary. It won’t be long before Skype will have a webpage that runs videoconferences without external software, either.
Assign Web Apps as Default Applications
Your end user has to choose to do this, you can’t make the decision for them — but if, for example, you have a web app that does word processing, you can offer the end user the choice to have their computer treat your web app as the default word processing functionality on that machine.
Run Code In-Browser
With Google’s Native Client (which Chrome comes with and other browsers can install), a web page can run code written in languages like C++. It’s run in a sandbox for obvious reasons, but it runs at near-native speeds, allowing for some extraordinary in-browser games and other applications.
Generate Pop-Up Notifications
Remember back in the day when you use to need a separate calendar program to remind you when things needed doing? No longer — nowadays, you can program a webpage to pop up a notification on a given schedule or in response to specific events (such as a new email incoming or a new response on a chat room.)
Find Your End User
Again, with their permission, it’s now easy to have a website that can query a device’s GPS — or ping local wireless networks or, in a pinch, your ISP location — to figure out roughly where in the world your end user is. This can even be used to determine the user’s address for the purpose of prefilling fields in a squeeze page or questionnaire.
The functionality that web browsers are gaining — particular as mobile browsers and the app environment continue to co-evolve — are absolutely amazing. This is just a small taste of the things you can do with a website. It’s a great time to be a web designer, especially if your client happens to be creative and willing to take a risk or two.