Websockets vs WebRTC for browser games. Scalability? - websocket

Which has more scalability? I would like to support 100+ players at once. I hear WebRTC is peer-to-peer, but there's this game server library called geckos.io that somehow uses it for server authoritative architecture (don't ask me, I don't know).

Related

Web User Interface design and smart watches. What considerations to make?

I dont know enough about smart watches but i figure that at some point, browsing web sites on them will become a standard feature. The "Web Browser for Android Wear" app on google play has more than 100,000 downloads and the "WebBrowser for SmartWatch" app has more than 10,000
To that end, given that smart watches like Sony's SmartWatch 3 has a 1.6” screen, what should web designers need to take into consideration when making their web pages as portable as possible? Is there a set of standards? What kind of functionality and behaviour should one expect of a page displayed in a smart watch browser?
Although SO isn't the best place for this question, I'll chip in. As far as I know, designing for wearables is still a new thing, and as per say, I haven't come across any standards as such.
But I think responsive web design should do just fine.
People are working on designing websites for smart watches. Here.
However, think about using the standard manufacturer APIs to build more robust and interactive experiences than just relying on websites on tiny screens.
Here's an article from Net Tuts+ that shows you how to design for the Apple Watch using existing web technologies. Bear in mind it doesn't beat native at all.

Recommendations on Mac OSX (preferably Swift) video chat APIs?

I'm tasked with developing a fullscreen native Mac OSX (Swift preferably, as I've been experimenting with it a lot lately) application that will connect two kiosks in two different parts of the US (each with high speed hardwired internet connections) in a video chat session. The kiosks must be able to automatically/programmatically connect and reconnect in case of lost connection. I was looking into TokBox but it seems their SDK/API is WebRTC, iOs, or Android oriented, otherwise it would have been a great choice at first glance. As I understand it, WebRTC is really just meant for browsers.
Does anyone have recommendations on an SDK/API that can help me accomplish this?
You can use WebRTC and make a web app out of the website. It will look and feel like a regular appp. Take a look at Mike Kelly's Refract for a painless web app packager.

Future-proofing Mobile Applications

We're working on the next version of a tracking system. The previous incarnation used an LCD with a simple custom UI however as we've had usability problems and we've found development time-consuming, and as our display is going out of production, we're considering using a regular cellphone or PDA as the interface instead.
Our main worry is whether we can keep such a product on the market for five to ten years without having to continually keep porting and adapting the application to new devices. To make things somewhat easier we intend to bundle the phones with the system, though in an ideal world our (largely non-technical) users would be able to use their own.
So, what's our best bet? Are there a good platform-independent libraries we can count on being supported for a while? Or are we better of betting on a single platform at a time? Perhaps backward-compatibility is more likely to be maintained on a PDA? Truth be told I'm not even sure what language to bet on for the generic parts of the code.
I'm also a little anxious about the link to our hardware. Bluetooth SPP is attractive since it's particularly easy to use and there are plenty of ready-made modules available, but support on the phone side is far from universal.
Any pragmatic advice would be most welcome as I must admit to having no experience with mobile application development.
If you don't control the entire production chain for hardware like Apple does for example, you have no chance on long term. Unless your product is really innovative and market wants it so much, or if you are playing on a market niche (healthcare for instance). My proposal would be to make a market study and check what your customer use as mobile devices first. You should choose one or two top platforms first, and gradually add new platforms if market asks. If you are in US probably iPhone, Android, RIM would be the top choices, in Europe I would have to choose between iPhone, Android, Symbian, Windows. It's the same like developing a website you start with two top browsers and gradually add support for minor ones.
About portable libraries I wouldn't bet on this. Instead I would design an architecture using abstraction layers. For example I would have Bluetooth abstraction layer that would expose functionalities to my Business Logic Layer; underneath I would have BlueZ if I deploy on Android/Linux, maybe GameKit for iPhone, MS stack or Widcomm for Windows and so on.
PDAs are dead, actually they've merged into smartphones and tablets, they were an evolutionary step. So forget them.
HTML5 is a good idea but is only the front layer, you must deal also business logic and lower layers.
Bluetooth SPP is good because it is common, and interoperable it's like the webservices for enterprise. Instead of giving an API that is platform dependent you could provide a set of custom AT commands, that can be used by anyone that can connect on Bluetooth to SPP.
Cross platform sounds like HTML 5, CSS and Javascript, along with some javascript frameworks for mobile development like the ones listed here

What clients for web application?

Is it true that web browsers as we know today have no future? That programmers should write native clients for their application on many devices?
I'm writing web application with AJAX but should I also prepare versions to many mobile devices?
The web will be around and web browsers are available on almost any device. Some say native development is the future, because it is closer to the device and gets the most out of the system. This is true and is applied in various cases, like XBOX games and Apple software that is especially designed for a single device.
Other developments show the other side. Google's OS is barely more than a webbrowser. All applications running on it are merely web applications that should run on any browser. Only difference is that the engine of Chrome OS is put directly onto the hardware, allowing the webpage to get a better performance, because it has only one abstraction layer to the hardware instead of 3 or 4.
So, the only advice I can give is not to worry about it. People on either side have been declaring the other technique to be dead since decades ago, but both are still here. When it is time to switch, you will know. :)
The first statement is definitely not true.
The second one depends on your case, but most things you can just do "mobile-browser friendly". I.e. make a mobile version of the website that looks good on mobile browsers. No need for mobile applications.
Of course, if you have the resources, a mobile app is a good addition to your portfolio / brand.
First of all no one knows and no one can know what the future will bring.
For me though, it is difficult to imagine a world without web browsers at least in the near/mid term future, especially with all the hype/support behind HTML 5.
The big advantage is of HTML 5 in this regard is write once, run everywhere.
My 2 cents ;-)
If anything, it is the other way around. Make a good web application, and everyone can use it. Mobile browsers get better and better all the time. Expect mobile website usage to increase, rather than custom applications for each device. (obviously, applications that need hardware access are not included in this statement.)
Furthermore, expect a convergence between mobile web and desktop web.

Hardware-neutral library to sync with smartphones?

I'd like to know what the status is to sync data (eg. SQLite, etc.) from Windows with smartphones. Ideally, the same tool should support the main smartphones (iPhone, BlackBerry, Windows Mobile, Android).
Google returned information on OpenSync and SyncML, and I'd like to ask experts whether those projects are ready for showtime, and if not, if there are alternatives I should look at.
It seems like it's pretty much still a proprietary world, and the easiest way is to first sync with Outlook, and then sync Outlook with the smartphone using whatever sync utility it provided.
Thank you.
There is no single protocol which is supported by all phones. The two most popular ones are ActiveSync and OMA DM.
ActiveSync is supported by virtually all modern smartphones (except BlackBerry) and can sync mail, contacts and calendars. It can also (depending on the device support) do some basic device management such as remote lock or wipe.
OMA DM is a "competing" spec which is prevalent on Symbian phones but also supported on a few others. It is SyncML based and allows syncing pretty much anything on the phone.

Resources