Archive for the ‘XML’ Category

Mule… MULE… mule

Author: mprokes

Well I am for sure digging deep into the webservice java world lately (I may even tip up a few examples and post them here). For those of you who do not know what mule is, I would describe it as a composite webservice based environment that is meant to ease the development of integration systems (albet with lots of XML). Really it isn’t that hard to work with, and in many cases kinda fun. You will probably see more postings on it in the future from me, but for now I just decided to take a quick break and give you guys a update on the latest and greatest tech I get to play with.

~matt

  • Reddit
  • StumbleUpon
  • Bebo
  • Yahoo Buzz
  • Delicious
  • Twitter
  • LiveJournal
  • Netlog
  • HelloTxt
  • Share/Bookmark

Audio and Video Trends

Author: mprokes

Alpha Edition!, e-mail spelling/grammer/topic suggestions to mattprokes@gmail.com

previous1next1The Professional Developer Series
Volume 2, Web Development

Chapter 1.4 Web Development Trends

Page: #25



Audio and video content are just some of the latest additions to the web development world, and web based media players have existed as recently as 2002. Some of the current limitations of media is the fact that there is not yet any standardized audio and video protocol built into the browser, although recently a video player was built with javascript (but it has no sound). Meaning that these technologies can only be leveraged through third party plugins like flash, java applets, quicktime, and realplayer

Audio:
Audio is also a continuing trend on the net, I expect that to continue, most audio players are based on flash based mp3 players these days, and you often see audo used on social networking sites particularly myspace. I will also expect to see crowd sourcing efforts with audio in the future, but I won’t clutter this book on what that might look like. Html 5 is also mandating native support for non-synthasized audio in the future.

Native Music Formats:
There is a couple natively supported audio formats in the browser; one is called .midi, although .midi media is not very good since it is an “instrumental” based media format, midi is basically synthesized music. The music  generated and played from the format that is similar to a sheet of music. Thus you can’t actually “record” music and play it back in .midi, for example you could never listen to the latest metallica recording through the midi format.

If I were to compare midi to an mp3, its a bit like comparing clip art to a picture of a person. They are both images, but one is very realistic, and the other is a drawing and not so realistic. Midi music usually sounds like the keyboard music heard back in the 1980’s, and it doesn’t always sound the same computer to computer, since it is synthasized. One advantage of midi is that a 4 minute song can usually be crammed into 70k to 80k, versus a mp3 which would be a solid 4MB to 5MB. Midi, can be leveraged to add short little sounds to you web application, and it is very efficient, and relevant in that case.

The second supported format is .wav, the wav format is similar to the one used with cd-roms (cdma) that being .wav is a loss-less format meaning that .wav audio is an exact binary copy of audio (with no compression loss, as mp3’s have). While being a lossless format is great from a quality of sound perspective, compression not being available for wav format is huge issue because a wav file can consume as much as 10MB just for 1 minute of audio. Compared to mp3’s, wavs take 10-11 times as much bandwidth and disk space, thus wavs are not really used to much in internet media because of this very issue.

Video:
Video was originally leverage (as so many things are) by porn sites, but later many popular video sites started springing up all over some of the best ones are youtube, internet archive video, hulu, and hundreds more, including many that are built into blogging software like wordpress. I expect videos to become an even more populat trend on the internet. Infact the next big fronteer for video will probably be intelligently integrating and tagging, and commenting on top of the video in real-time. This will allow search engines to begin searching video based on what people tagged and commented on it. Nothing like this exists yet, but here is a simple example.

videocomment2

While we are starting to see tagging like this on photos I expect to see comments also strapped to video and audio timelines in the near future. This will also open up a whole new world for things like video tutorials, etc.. all this can be done outside the video leveraging javascript, and then the data generated by users index and made searchable. Later in the book I may break out a javascript project which does exactly this. Crowd sourcing to the collaboration of a community to create content, and is a perfect example of crowd sourcing.  Html 5 mandates native video support for browsers, the jury is still out on the official codec that will be used although word on the street is it will be ogg/vorbis.

Media, and Bandwidth
If you decide to travel down the path of media, something you should be aware of is the intense amounts of bandwidth that it consumes, while media is excellent for a user experience at this time its bandwidth cost/profit ratio is not so good. Although you can often offset the bandwidth costs by uploading content to free services like youtube, and internet archive. Keep in mind though if you do this, the content service often mandates an open/free copyright of content on their system.

So really it is all about control of the content, if you are just planning on giving your content away, then upload it to a free service all you like. Although, if you absolutely need to retain copyrights, and don’t want to fumble around with all the legal issues associated with protecting your content on a free service, then you will need to host the content yourself and take a hit with bandwidth costs.

I expect that eventually a client technology will come along that will allow browsers to effectively make themselves a sort-of, bit-torrent-like type of technology which will allow for streamlined distribution of all web content including video. Several things need to happen though for that to become a reality, so you probably should not expect it to happen anytime soon (next 10-15 years).


  • Reddit
  • StumbleUpon
  • Bebo
  • Yahoo Buzz
  • Delicious
  • Twitter
  • LiveJournal
  • Netlog
  • HelloTxt
  • Share/Bookmark

Templating

Author: mprokes

Alpha Edition!, e-mail spelling/grammer/topic suggestions to mattprokes@gmail.com

previous1next1The Professional Developer Series
Volume 2, Web Development

Chapter 1.4 Web Development Trends

Page: #24


Templating is something that has been around for a while, wheither you are creating a presentation or are trying to leverage a brand through media chances are that you are in some way using a template of some sort. Programming is no different, templates are used all the time and they are important because it helps us get our job done faster.

templateexample1

What are some common examples of templates on the web? Well CSS for one is a langauge which creates a templated style for a website. Take the website that you are reading right now for instance, CSS is the reason why when you go from one page to the next the only thing that changes is the content. This is a perfect example of a styled template.

There are many different kinds of templates technologies available, but for the most part templates have a few specific things in common.

  • Use of markers for labeling where data should go, and will automatically place data at marker locations.
  • Some allow logic, to generate the template.
  • Exist to make generating styles or content more easy, and reusable.
  • Straight forward.
  • Some allow easy retrevial of data (data binders, and getters)

Many of the web standards available today focus on templating specifically since a focus of web technology is to make data more available and easy to read much of this can be achieved with templating technologies. Some of my most faviorite templating technologies out there is PURE (for javascript), XSLT, CSS, Java Swing, Flex, and many more.

  • Reddit
  • StumbleUpon
  • Bebo
  • Yahoo Buzz
  • Delicious
  • Twitter
  • LiveJournal
  • Netlog
  • HelloTxt
  • Share/Bookmark

Alpha Edition!, e-mail spelling/grammer/topic suggestions to mattprokes@gmail.com

next1previous1The Professional Developer Series
Volume 2, Web Development

Chapter 1.3 Web Development Today

Page: #14


As mentioned earlier, one of the more important roles of xml is describing data, this is useful because often xml is leveraged to transport data across the internet. There are a few ways in which transportation of XML data across the network occurs.

Xml, and webservices are synonymous when speaking in terms of delivering data content out on the internet.

AJAX, Asynchronous JavaScript and XML

page12ex12

Ajax, defines the delivery of xml data to a client browser via a webservice request. Request data can include xml being sent to the server for parsing or can be things like parameter values in a GET or POST request. The data returned from a server is usually XML or JSON (more on json later). Ajax may also be used to get non-dynamic xml data.

B2B Webservice

page12ex24

B2B Webservices define the delivery of xml data to a server via a webservice request. With webservices, data is dynamically assembled based on the request and sent back for processing.   are able to send messages back and forth to each other, based on their request and the data returned to the request(or) of that webservice.

Data Syndication

page12ex3

Data Syndication is a bit different then the previous two examples, the difference being that in the previous two examples the data was dynamically generated and returned based on what was requested. Syndicated data is static (meaning it doesn’t change dynamically), as a result the data is updated when the publisher of that data decides its time to update it. There is also a semi-dynamic version of this pattern called REST, but we will get to that later.

  • Reddit
  • StumbleUpon
  • Bebo
  • Yahoo Buzz
  • Delicious
  • Twitter
  • LiveJournal
  • Netlog
  • HelloTxt
  • Share/Bookmark

Alpha Edition!, e-mail spelling/grammer/topic suggestions to mattprokes@gmail.com

next1previous1The Professional Developer Series
Volume 2, Web Development

Chapter 1.3 Web Development Today

Page: #11


So what is the core foundation of all these modern technologies? What is making the modern web of today tick? Believe it or not SGML is a language nearly 50 years old, and the ancestor of most modern web technologies. Though most modern browsers today no longer understand sgml, they do instead understand a direct subset of the technology, XML. XML, or the eXtensible Markup Language, was intended to be a specification for describing data attributes, classifications, structure and hierarchy.  This meta-language mandates a set of rules for defining the structure of data.

So why is xml so important?  Xml on its own actually does nothing more then describe data, it takes something like a computer application which has been programmed to understand that description for xml to be useful. This means that xml is nothing more then a set of standardized rules for describing a data format. If you break the rules, then xml is not valid, and the data within it cannot be properly read. The great thing is that there are many applications leveraging xml formats, including popular ones such as xhtml, svg, rss, soap, and thousands more. Libraries for every computer programming language available has been written to make reading and writing xml formats easier.

So who defines all these languages? Well since anyone can create a XML format, programmers like you and me do. Though,  important xml standards are written and executed upon by through a standards body known as the w3c. The W3C  is a consortium of companies, and engineers who develop and deliver technology standards which evolve the internet, they are also the architects of xml its’ self.

XML formats, and languages are often defined and written through the organization and presented to the public for implementation. It is then left to interested parties (often web browser developers), to implement those languages on their technologies. If a programmer is able to create an application which follows the w3c standards / definition / description etc…, then that application is said to be ” w3c [insert technology name here] compliant” .

You may have seen these graphics before on other sites; these graphic icons are signifying a sites’ compatibility with a particular w3c standard.

Many well known formats have come from the W3C and will be covered in this book, including XSLT, SVG, XPath, CSS, SOAP, XHTML, RDF and more.

  • Reddit
  • StumbleUpon
  • Bebo
  • Yahoo Buzz
  • Delicious
  • Twitter
  • LiveJournal
  • Netlog
  • HelloTxt
  • Share/Bookmark