AppsFuel Blog

HTML5 Apps Take the Lead!

Archive for the category “Strategy”

An Overview of WebRTC – the most disruptive HTML5 technology to date?

WebRTC – a fantastic tool for web app developers

WebRTC or Web Real-Time Communications is an emerging standard that is being currently being rolled out in most modern browsers.

WebRTC APIs allows you to stream audio, video and other data between browsers with the minimum of effort, while shielding the developer of the underlying complexity that is required to make this happen.

Push and Pull

If you think about it the world wide web is a classic example of a minimum viable product, early versions allowed pages to be created and text to be hyperlinked to other pages. Soon there were images, forms for user input and things started to get interesting.

One part of the web that has been developing slowly is ‘push’ mechanisms to compliment the existing ‘pull’. By ‘push’ I really mean the ability for the server to push content to the browser without it being explicitly requested. The pull-only model system served us well, our old friend HTTP request was the very minimum we needed to ‘make things work’, it worked well and there is no real reason for many content sites to move from that model. However, as average connection speeds get faster and the web matures into the dominant platform not only for content but also for applications, there is a real need for real-time technologies.

Since the advent of the supercharged XMLHttpRequest we can simulate pushing by making repeated requests to the server until some state changes and new content is delivered. It’s not difficult to imagine why this polling method becomes increasingly inefficient and less feasible as you approach real-time accuracy, although it works out better if only an approximation of real-time is required.

Then there’s long-polling that relies on the server to hold open an HTTP request – ready for any data that the server might happen to pass down the line. Whole libraries have been written around that principal, but essentially — like many of great things in life — it’s a hack.

Luckily, newer less-hacky solutions were proposed by the W3C and others in response to the need for real-time comms. Solutions such as the WebSocket API The promise of web sockets is that they gives us full duplex communication between browser and server which means that data can travel back and forth without consuming any http connections, in fact websockets uses TCP – a lower level protocol than HTTP. Stable and secure implementations are finally shipping in all major browsers and libraries are available for nearly all server-side set-ups. The WebSocket API works well for real-time comms when you are sending data to and from browser to server.

WebRTC – the break-down

So what exactly is WebRTC and how does it fit in? WebRTC stands for Web Real-Time Communications, part of HTML5 it is a W3C working draft and is just now starting to see adoption in most modern browsers.

WebRTC includes several unique features:

  1. Designed with browser-to-browser communication in mind.
  2. Handles live streaming of audio and video.
  3. Facilitates the streaming of any type of data.

I was lucky enough to be invited to the Open Video Conference a couple of years ago and as a result found myself in a room with representatives from all the major browser vendors (bar Microsoft) talking about how they could standardise peer-to-peer media streaming on the web. It was inspiring to say the least and a year later it’s fantastic to see progress made and standards maturing. I have a personal interest in web-based media and that is very much a part of what WebRTC is about, although it is not restricted to media as it deals with binary formats it can facilitate any type of file sharing.

So the main applications for WebRTC are:

  1. Voice Calling / Video Chat
  2. P2P File sharing
  3. Inter-application comms

One thing to note is that it’s not pure P2P some negotiation and brokerage on a server somewhere is required to be able to connect to other users. That said, apart from perhaps BitTorrent and similar there are very few pure P2P applications out there, even Skype which used to use supernodes has now replaced them with linux servers .

So let’s take a look at the API which is pretty neatly split into three component parts.

  1. MediaStream API (aka getUserMedia) – for accessing devices such as a camera and mic
  2. PeerConnection API- for connecting client’s audio/video streams
  3. DataChannel API – for the real-time P2P transfer of generic data

MediaStream API

Sometimes known as getUserMedia, the MediaStream API allows you direct access to devices, currently the microphone and camera but in future this could include other devices. Audio and video are split into synchronised MediaStreamTracks. Effects can be applied to the video using canvas – check out this great demo from Paul Neave to see what’s actually possible. I look forward to integration with the Web Audio API so that we can analyse and apply effects to the audio stream.

PeerConnection

Getting access to devices such as cameras and microphones is of limited use if you don’t connect those streams. The PeerConnection API allows you to do this. As touched on above, you will need a ‘broker’ in the cloud to be able to discover and connect to other peers, you can use your own WebSocket server, Google App Engine or something called SIP over WebSockets.

Thankfully the PeerConnection API makes this all relatively painless and quietly deals with the issues of lost packets and the general quality of streamed audio and video.

DataChannel

The full potential for this technology has yet to be realised, which is why it is very good news that the DataChannel API exists. The DataChannel API makes it possible to stream any data you can think of. It deals with any issues that might occur in the pipeline and includes features such a channel prioritisation, security and automatic congestion control, leaving the developer to focus on the application of that streamed data.

Superpowers

So what does all this mean our humble web app developer? Well, this technology is currently available in most modern desktop browsers and it’s surely just a matter of time until this rolls-out on mobile. So we can start picking it up and experimenting right now.

But what can we do with it? WebRTC technology is very powerful, representing as it does a paradigm shift in the traditional client-server model, as such it is potentially hugely disruptive. Developers can look forward to building video and audio chat right into their apps and of course there’s many possibilities for real-time multi-player games and anything that requires you to push data around. Although currently we may need to touch the server, the server’s involvement can be minimal and so we have the building blocks for decentralised networks as we move towards a P2P web.

This is just a basic introduction to WebRTC, if you want to learn more I highly recommend you check out the following resources.

Real-Time Communication without Plugins
WebRTC is almost here, and it will change the web
Video Conferencing in HTML5: WebRTC via Web Sockets
Record audio using webrtc in chrome and speech recognition with websockets
Bowser – the First WebRTC enabled Browser for Mobile

This blog post has been written by Mark Boas

Mark makes, writes about and promotes new and open web technologies. Co-founder of Happyworm – a small web agency and makers of the jPlayer media framework, he enjoys pushing the limits of the browser using HTML5 and JavaScript. Though a generalist at heart, Mark spends much of his time playing with web based media and real-time communications and is actively involved in helping news organisations world-wide as part of the Knight-Mozilla OpenNews initiative. A lover of all things audio, his passion often drives his work and is currently enjoying the challenge of taking audio ‘somewhere new’ with his Hyperaudio experiments. You can follow Mark on Twitter.

Monetize Your HTML5 Web App with AppsFuel’s Billing APIs

AppsFuel billing APIWe are proud to announce the beta release of our billing API, making AppsFuel the first HTML5 mobile apps marketplace to offer its developers an integrated mobile payment system to monetize their apps. Starting today, developers in France, Spain and Italy can start generating revenues from their web apps by simply integrating our mobile payment functions via the APIs, turning their free apps into “freemium” apps.

To get started with the billing APIs, just sign up on our developer zone and submit your HTML5 mobile app to the AppsFuel marketplace. Once the app is published, you can request that the billing APIs be activated through a simple process. And it’s free, there is no cost associated with activating these APIs.

In this rollout, apps will be able to adopt a freemium model – users can use a subset of an app’s features for free, but will be presented with a payment option to access the premium features. This is just the first step. Next on the roadmap will be other business models such as paid apps and in-app purchases.

We’re going to launch mobile billing in the UK, Germany and many other countries during 2013.

AppsFuel aims to be a leader in creating a healthy HTML5 app ecosystem in which developers can get their apps profitably distributed with as little friction as possible. The beta release of these billing API’s is a huge step in this direction.

If you aren’t registered yet, take a minute to do so now and let us know what you think!

Ding! The 2nd round of HTML5 App Challenge Begins!

AppsFuel HTML5 App Challenge powered by AppCircusThe second round of the HTML5 App Challenge has begun! Developers, startups and app businesses can now submit their apps for the next round of the competition. The challenge is open to all developers, professionals or business startups with a functioning HTML5 app optimised for smart phones or tablets.

AppCircus and AppsFuel have launched the HTML5 App Challenge to find the best apps written in HTML5, the programming language that will power many of tomorrow’s mobile web applications.

By submitting their HTML5 app to the competition, developers will have the chance to be among the first to use the AppsFuel Payment API, giving them the ability to start monetising their apps in supported territories, no matter where they are based.

The HTML5 App Challenge is a three-month online competition, ending December 20, with the next deadline for submission being November 26. Each month a winning app will be chosen via online voting. The overall winning app will participate in the prestigious Mobile Premier Awards, to be held in Barcelona in 2013.

To submit apps and find out more about the competition go to HTML5 App Challenge page.

For those of you unfamiliar with AppCircus, it’s the world’s largest travelling competition for applications. The event serves as a showcase for new app developers to premier their latest creations in front of mobile industry experts, angel investors and other developers. Since it began in 2010, there have been over 100 AppCircus events around the world in over 30 countries, with over 2,500 apps submitted.

If this is your first visit to this blog, you may not know that AppsFuel is a new marketplace – device and OS independent – featuring only top quality HTML5 Apps.

With AppsFuel, users will find it easy to browse categories, read reviews, find their favourite apps and share them on social media, knowing all their friends can use them, because AppsFuel apps work on any smartphone.

For developers, AppsFuel is an open and simple platform to use for distribution of mobile web applications and monetisation via carrier billing, an exclusive feature of AppsFuel.

By joining AppsFuel, developers will enjoy an unprecedented direct connection to their customers, always providing them the latest version, as well as the flexible payment options of carrier billing, soon to be available in more than 25 countries. What’s more, the “write once, deploy everywhere” nature of the platform will massively reduce the cost of creating, versioning and maintaining applications.

AppsFuel to the Rescue!

AppsFuel to the rescueIn case you missed it, Appcelerator recently published their Q3 2012 Mobile Developer Report entitled “Voice of the Next-Generation Mobile Developer.

Without a doubt, the most striking headline for the HTML5 mobile apps community was, “Developers Not Satisfied with HTML5 Mobile Applications.”  To those of us working daily with this technology and teams of developers, this is familiar territory. As with all emerging technologies, there are always challenges and HTML5 is no exception.

Most developers appreciate the enormous value of HTML5′s cross-platform interoperability and how apps are constantly updated due to the very architecture of technology. But, on the other hand, they also can clearly see some of today’s limitations. So, let’s take a peek at the report itself:

Developers ranked their satisfaction with nearly every feature of HTML5 as neutral to dissatisfied, including user experience (62% neutral to dissatisfied), performance (72.4%), monetization (83.4%), fragmentation (75.4%), distribution control (60.3%), timeliness of new updates (67.9%), and security (81.8%). Developers reported the highest satisfaction (58%) with the cross-development capabilities of HTML5, and slightly less than 50% reported satisfaction with the immediate updates. and that lack of monetization is the number one pain point.

Clearly, AppsFuel cannot do much about the technical issues such as security, fragmentation and performance (although lots of developers, the major standards organizations and industry leaders are making great progress resolving these issues). But we at AppsFuel see the huge opportunity to help relieve three important pain points —  monetization, distribution and user experience.

Monetization: By the end of November 2012, developers will be able to activate our carrier billing API’s for monetizing apps in Germany, Italy, Spain and France. The user experience is excellent, comparable to Apple’s App Store payment flow. A user can make a purchase through his or her mobile carrier in just a click or two.

Distribution: Users don’t yet know where to go to discover, install and share HTML5 apps for their smartphones and tablets. AppsFuel is positioning itself to change all that. Today, we are the only marketplace dedicated exclusively to HTML5 mobile apps and are working hard to fill the marketplace with high-quality apps from respected sources. Our goal is to be the prime distribution channel for developers trying to reach the broadest possible audience for their apps.

User experience: There are two crucial aspects of user experience that AppsFuel addresses – apps discovery and installation. By providing a fast, easy-to-navigate and a graphically clean marketplace, users will feel at home exploring, sharing and discovering great new apps for fun, travel, work and school. AppsFuel’s installation experience guides even novice users through the process of installing an app’s icon on their mobile devices’ home screens.

In case you missed our earlier post, if you’re a web developer with a passion for mobile apps, you must check out the the AppCircus HTML5 App Challenge sponsored by AppsFuel.

AppsFuel to the rescue!

AppsFuel & AppCircus Present the HTML5 App Challenge!


AppsFuel HTML5 App Challenge powered by AppCircusAppsFuel
is the first official sponsor of the AppCircus HTML5 App Challenge!  Even our names have a little something in common. ;-)))

The HTML5 App Challenge is an online contest for ambitious, apps-crazy developers to see whose HTML5 app will be judged the “best of show” by the AppsFuel and AppCircus jury of experts. The winner will earn a place to pitch their app in front of an international audience of industry leaders at the prestigious Mobile Premier Awards, held during the MWC in Barcelona in February 2013. This is a great opportunity for anyone with a great HTML5 mobile app and an all-consuming drive to earn a place on the global stage! Naturally, the winner will also be included in the AppsFuel Marketplace.

In case you haven’t heard of AppCircus yet, let me introduce you, quoting from the AppCircus website:

AppCircus is a unique global traveling showcase of the most creative and innovative apps presented by their creators during some of the most influential international events in mobile/web… and offers each participant a chance to get a nomination to the Mobile Premier Awards @ MWC in Barcelona, Feb 2013.

How the HTML5 App Challenge will work:

Developers can visit the new HTML5 App Challenge website today and submit their HTML5 mobile apps, after having first uploaded them to the AppsFuel Marketplace, of course. So, if you’re not already registered, signup to our developer zone to upload your HTML5 mobile app. Throw your app into the ring! Remember that apps must be developed using web technologies, HTML5, JS, CSS and be optimized for smartphones or tablets.

Anybody can then go to the site and vote for their favorite app and share the excitement of participating on Facebook and Twitter.

During each of the three months of the contest, there will be a new winner announced on the site and through our social media channels. Then, at the close of the contest, the grand prize winner will be chosen from among all the apps submitted. All the rules are posted on the HTML5 App Challenge website.

Hold on, there’s one more thing – if you’re a developer in the area around Naples, you do not want to miss the AppCircus workshop to be held at the Università degli Studi di Napoli Federico II. The workshop will cover the universe of mobile app development and, of course, AppsFuel will be there to talk about HTML5 mobile apps and the HTML5 App Challenge! So stay tuned and follow us on Twitter. Hope to see you there!

Post Navigation

Follow

Get every new post delivered to your Inbox.

%d bloggers like this: