Made in USA: Enterprise Application Services

HTML5 Archives • Ayoka - Made in USA Enterprise Application Services

Real Time Web with SignalR and Comet

April 17, 2014

SignalR provides API for building real time web functionality in the ASP.NET applications. Real Time web functionality is the ability to have server side code push content to the connected clients as it happens in real time.

The most common examples of real time web applications are Facebook’s news feed and Twitter, or features like chat and search, where the user gets the notification in the browser’s document window as the event happens in the form of a message, alert, update, or link to an article with decreased server load time.

signalr, websocket

To do this, SignalR must take advantage of HTML5s API that includes WebSocket, which takes an advantage of several packet transports by automatically selecting the best available transport given the client and server’s best available transport. When the technology isn’t available, it will gracefully fall back to other techniques, making sure the application code remains the same. SignalR will use HTML5 to transport WebSockets, utilizing its bi-directional communication line between the client and the server with server-to-client RPC (Remote Procedure Call). The RPC allows an inter-process communication line to be opened and lets the code call a subroutine to be executed from a different client remotely without the developer having to execute the subroutine from a specific location or compromise load time. Unfortunately for the outdated client, WebSocket is only available in later versions of Internet Explorer, Google Chrome, and Firefox, with partial implementation ability on Safari and Opera. SignalR provides this RPC that call the JavaScript functions from .NET code on the client side. It also provides an API for connection management for grouping connections or connect and disconnect events. It starts out first as an HTTP, and is then promoted to a WebSocket if the bandwidth is available. WebSocket is the best use of (the small amount of) memory that will be allocated.

In comparison, the Comet web application model will support an HTTP request that is held open for a long period of time during which time the server can send data to the client without the client knowing it may need to request it. For Internet Explorer, the Forever Frame, which creates a hidden iFrame that opens a connection that acts as a one-way connection from the server to the client. To get back the other way, from client back to server, a standard HTML request is posted and a new connection must be created per data packet to be sent. For other browsers, Ajax is implemented to poll the server with a request that stays open until the server responds and closes the connection, instantiating a request to open another connection.

Monitoring how your packets are transported can positively or negatively impact your code reception by users accessing and using your real-time web environments through browsers. The most successful real-time web environments were able to adeptly anticipate and implement their users’ propensities and seamlessly integrate those practices to create a true real-time web environment that can be accessed from anywhere with any device.

How to Develop Websites Using ASP.NET

January 28, 2014

ASP.NET is great for building standards-based websites with HTML5, CSS3, and JavaScript. ASP.NET supports three approaches for making web sites. ASP.NET Web Forms uses controls and an event-model for component-based development. ASP.NET MVC values separation of concerns and enables easier test-driven development. ASP.NET Web Pages prefers a single page model that mixes code and HTML markup. You can mix and match these techniques within one application depending on your needs – it’s all One ASP.NET.

To create a file system Website
1. Open Microsoft Visual Studio 2010 or Microsoft Visual Web Developer Express.
2. On the File menu, click New WebSite.
3. Under Installed Templates, click Visual Basic or C# and then select ASP.NET Web Site.
4. In the Web Location box, select File System, and then enter the name of the folder where you want to keep the pages of your Web site.
5. Click OK.

Here is a link to some free ASP.NET templates

How Has Life Changed on the Front Lines of User Experience (UX) Design?

October 15, 2013

As a front-end web developer these days it is vital to possess a very robust skill set to be effective in the market place, and to pull your weight on a team. A lot of people think that the User Interaction and User Experience (UI and UX respectively) stuff is just making things look pretty and therefore, is not as complex as the server side of things. This could also lead someone to the conclusion that if it is not as complex as the back-end then it must not be a vital to a project. In some projects that may be the case, but it really comes down to how much “Company X” has invested in the project and what the return on that project needs to be.

Web design, HTML 5, Javascript

The UI is the first element that a User interacts with. It’s the suit and tie, smile, and handshake that will welcome them and interact with them during their stay. The common User has no idea that there is a difference between different programming languages, let alone different types of web development. A skilled front-end developer or web designer will know HTML5, CSS3, JavaScript, JQuery, Photoshop and Illustrator (or their equivalent), along with a handful of plug-ins to make a project run smoother.

Often the front-end comes in at the latest stage in development so these key people need to know how to trouble shoot issues to iron out the wrinkles and get it ready for “shipping.” Designing the UI and UX for a product whether it is a website, camera, chair, or ballet is a job that requires real understanding of the target User and the desired result.  Making a product that is both intuitive and robust is a very complicated undertaking and requires much planning and experimentation. Sometimes taking something that has been created on the back-end and making it function and interact naturally with the User can be a back-and-forth process of try, fail, and succeed until finally it works.  It’s about getting creative and breaking barriers to introduce new, fun, and interactive experiences for the User. A good web designer will be there from the beginning to the end of the project; planning and drawing up mock-ups, making sure the design is set in motion, getting their hands dirty and coding, and cleaning up any trouble that will naturally come along with any project. In other words they are like the Marines, “First ones in and last ones out!” Well maybe not that drastic or dangerous but the point is there.

Internet Explorer 9

March 23, 2011

Internet Explorer 9 is finally here. There are several new features available in IE 9. Did you know IE 9 broke the record for the most downloaded internet browser software downloaded in one day? It’s going in the Guinness World Book for Records. I am very happy to say that IE  9 is here because that means less headaches to me as a web designer and developer. Unfortunately, it will take some time before the vast majority of technology adopters to fully upgrade to Internet Explorer 9. HTML5, JavaScript, and CSS3 (Microsoft’s Guide for Developers)

Can I get a “yay” and “finally”? It’s great to know that Microsoft is updating it’s browser to support the advancements of HTML5 and JavaScript. I’m sure all developers have experienced pain with cross-browser testing with IE. Just when you thought you designed something so great and dandy, IE messes it up for you. IE 9 will help developers code freely in HTML5, CSS3, and JQuery.

With CSS3 being adapted, developers may now utilize the radius corners, gradients, shadows, and @font-face through all the major browsers now.—pinned-web-sites.aspx – Pinned Web Sites

IE 9 allows you to pin your favorite web sites to the Windows 7 taskbar in a manner that is similar to the way you pin favorite applications. So your taskbar can contain a mixture of shortcuts for both local, Windows-based applications and web-based applications like Gmail, Amazon, and even the SuperSite for Windows. This mirrors the way you really work on your PC, and is thus logical and intuitive. – Notification Bar

Internet Explorer 9 includes a completely redesigned Notification Bar that now appears on the bottom of the browser window, allowing you to continue reading and browsing the web and deal with notifications on your own schedule. As with many other new IE 9 features, the Notification Bar is less distracting than the feature it replaces. – Download Manager

While Internet Explorer’s rivals have had download managers for years, users of the Microsoft browser have had to suffer along with a more limited and less useful downloading capability. Until now, that is: With Internet Explorer 9, Microsoft is finally adding a download manager to the dominant web browser line. And while they may be late to the game, IE 9’s download manager is, as you might expect, quite a bit more capable than those of its rivals. – One Box

Like other browsers, Internet Explorer 9 dispenses with the traditionally separate address bar and search box, replacing both with a single control that Microsoft calls the One Box. The IE 9 One Box provides a single place for getting started, whether that means navigating to a particular site or searching for a site, term, or phrase. – Add-On Performance Advisor

The Add-on Performance Advisor is a new UI in the browser that provides a handy way to help users decide which add-ons to disable. The more add-ons you have installed and enabled, the slower the browser gets. But because the previous UI for determining add-on performance was essentially hidden, few users took advantage of this functionality. So in IE 9, a new Add-on Performance Advisor notification will pop-up automatically when you launch the browser and one or more add-ons exceeds a pre-set performance threshold.

Source: – winsupersite

Standard Video Codec for HTML 5: Not Likely

August 20, 2009

As a follow-up to my last blog post about HTML 5 being on the horizon, it looks like we may have taken one step back with regards to a standard video codec. Ian Hickson recently released that he has been unable to get browser vendors to agree on a universal codec, so he has officially decided to remove the sections from the HTML 5 spec that require a browser to adhere to a specific codec. Hickson lists where each vendor stands on the HTML 5 video codecs:

  • Apple refuses to implement Ogg Theora in Quicktime by default (as used by Safari), citing lack of hardware support and an uncertain patent landscape.
  • Google has implemented H.264 and Ogg Theora in Chrome, but cannot provide the H.264 codec license to third-party distributors of Chromium, and have indicated a belief that Ogg Theora’s quality-per-bit is not yet suitable for the volume handled by YouTube.
  • Opera refuses to implement H.264, citing the obscene cost of the relevant patent licenses.
  • Mozilla refuses to implement H.264, as they would not be able to obtain a license that covers their downstream distributors.
  • Microsoft has not commented on their intent to support <video> at all.

He likened the situation to that of the <img> tag and <embed>, in that there will not be any universal format, but instead any number of formats can be supported, depending on whatever the browser vendor decides to support. Hickson sees only a few possibilities for the future of a universal codec:

  1. Ogg Theora encoders continue to improve. Off-the-shelf hardware Ogg Theora decoder chips become available. Google ships support for the codec for long enough without getting sued and Apple’s concern regarding submarine patents is reduced. => Theora becomes the de facto codec for the Web.
  2. The remaining H.264 baseline patents owned by companies who are not willing to license them royalty-free expire, leading to H.264 support being available without license fees. => H.264 becomes the de facto codec for the Web.

But as it stands, there will not be a standard video codec for HTML 5, shame. You can read Ian Hickson’s entire message here: