Saturday, June 11, 2011

Present State of HTML5 in Mobile App Development


“We’re doing our next mobile product in HTML5.”
“Yeah. A lot of people do that these days. I’ve been playing with Appcelerator as well.”
“Uh.. but that’s not what I meant by HTML5.”

I’ve been having a lot of this kind of conversations lately - partly because I’m doing an HTML5 app myself. But like “AJAX” back in 2005, the term “HTML5” is never clearly defined and is quite easy to throw around without considering the actual technical benefits, the trade offs, and the implications in the operations side. If you’re working in a company managed by buzzwords of the day, then Dilbert may very well be sitting by the next cubicle - if you’re lucky.

Two Divergent Roads

When people talk about HTML5 on mobile devices, there are actually two very different things that they may be talking about.

The more intuitive, and technically simpler path is to use the web browser - either embedded to your app (e.g. PhoneGap) or, the app is supposed to be opened from a bookmark icon on your mobile phone (e.g. Financial Times for iPhone and iPad). The usual benefits of this path include being able to reuse existing web design and development talents, products are highly and trivially portable, are easy to debug and fix (e.g. via weinre), and thus, fast iteration. Trade offs are performance and features - features is less of a hassle if you use an embedding architecture like PhoneGap. Performance is the #1 problem for this path.

The not-so-intuitive way is to use the JavaScript engine to control native features directly, ignoring the web browser component on mobile devices. Performance problems in HTML5 apps are mostly caused by HTML/CSS rendering, not JavaScript execution - so this approach can and do give you massively increased performance - if used correctly. Examples of this approach include Appcelerator Titanium, Mobage/ngcore from ngmoco, Game Closure, and whatever PhobosLabs is doing.

Node.js for Client Side

Take PhobosLabs’s project as an example - what they’ve done is take WebKit’s JavaScriptCore component, interface that to OpenGL on the device’s side, and expose an HTML5 canvas API on the developer’s side. What this means is, the developer can be developing and testing his game on a desktop browser with good canvas support, and put that to his mobile device and have his game run with similarly good (and perhaps better-than-desktop) performance. This is very similar to the approach taken by Node.js - take the JavaScript engine and add your own stuff to it for your specific use case.

Appcelerator Titanium expands on that concept and exposes a whole abstraction layer of UI widgets - such that it can be applied to general applications in addition to (instead of?) games. What this means is, an app developer can create buttons from Appcelerator’s UI library in JavaScript, and Appcelerator’s internal logic will translate that to e.g. a native UIButton on iOS. The UIButton on screen will then be completely controllable within JavaScript - the developer, theoretically, won’t need to write any Objective-C.

The trade off to this kind of approach is, while you’re still coding in JavaScript, you’re saying goodbye to the layout logic and declarative style definitions given by HTML and CSS. You’re also saying goodbye to the excellent debugging tools available to normal HTML5 developers. This is a smaller problem, and thus a sensible trade off, for HTML5 gaming APIs like Mobage because canvas exposes a relatively small set of interfaces - so there are less things to go wrong in the first place. But once the interfacing layer gets big, like in Appcelerator’s case - if anything goes wrong, you’d have to go back to Objective-C (or Android API)’s level, and also take the additional complexities added by the interfacing layer into account - while debugging. A lot of the negative reviews for Appcelerator out there can be understood if you take this in mind.

Back to the Browser

The first problem of doing a full-stack HTML5 mobile app is that it’s slow. The second problem is that the tool chains (e.g. broken persistent nav bars in jQuery Mobile, iOS’s innerHTML bug I discussed earlier) out there are still very buggy - which either means you need to reduce your features to avoid the bugs or you spend some time to work around the bugs. Features is only really the third problem - you can get around that with a plugin architecture like PhoneGap.

If you did some experiments yourself with one or two UIWebViews in an iOS app, plus a bit of your own JavaScript - no non-essential libraries added - you’ll find that it’s quite feasible to make a fast, full-stack HTML5 app... With no features. The PhoneGap iOS project template takes only 1 to 2 seconds to launch on an iPhone 3GS - a relatively old phone. What that tells you is, as a baseline, full-stack HTML5 apps can be very fast. So, if you find out your HTML5 app is hanging 10-15 seconds for some operations, or the app is taking 15 seconds to launch - then it’s almost always some JavaScript or UI library’s fault.

Two UI Libraries

What a mobile full-stack HTML5 app developer needs is usually two things: one, a bridging layer between the native platform and the web view; two, a mobile UI library. PhoneGap is pretty much the default choice as the bridging layer these days - it allows you to do things like calling out the camera, accessing the address book, reading and writing files, from JavaScript. The two most popular UI libraries are jQuery Mobile and Sencha Touch.

jQuery Mobile is a project founded late last year so it’s relatively new. It is quite obviously immature to anyone having actually tested it - persistent navigation bars are broken, page switching is noticeably slower than native, no way to incrementally add to lists without refreshing the whole page, high CPU usage when tested on desktop platforms (as of alpha 4), etc. I chose it for my project for its relative simplicity (i.e. hackability), the MIT license, and because it’s based on jQuery - every respectable web developer knows jQuery so it’s easy to train someone in jQuery Mobile.

Sencha Touch is, purportedly, much more mature and is faster. I have an instinctive abhorrence towards things that comes with a higher complexity, because I always have a feeling that there are gonna be a lot of features that I wouldn’t use and end up as dead weights pulling down the overall performance. I may be wrong though - the top featured mobile app on PhoneGap’s apps page is IGN Dominate - it’s extremely fast and it’s based on Sencha Touch - although I’m sure they’ve put in a lot of their own optimizations to do that.

Debugging and Making Changes

But the upside of doing full-stack mobile HTML5 - which a lot of people misses - is that it’s easy to debug and make changes. Any developer who’s worked on any non-trivial project would tell you, debugging and maintaining the project can easily take up 80% of the time, if not more. What this means is, when you see a certain tool chain claiming you can build, e.g. a chat app, in 15 minutes - it’s really telling you it has compressed 20% of your trouble into 15 minutes - the remaining 80% may have been made 3x worse.

This was a tough problem for mobile HTML5 apps because console.log() in a UIWebView normally logs to nowhere. So if anything goes wrong in JavaScript, you would need alert() or you wouldn’t be able to see that. PhoneGap improved this a bit by patching in a console.log() that logs to XCode’s console. But that’s still not enough.

The best solution right now is weinre. It is buggy and slow but it works - with that you can literally debug your mobile app’s UI from Web Inspector on your computer. It is based off WebKit’s Web Inspector with its debugger back end taken out and replaced with a remote back end. I’ve done some investigations into Web Inspector’s code myself two or three weekends ago and found that it’s not really that hard to turn it into a remote debugger. weinre’s development may speed up in the coming months or someone may make a better project replacing it - we’ll see.

This will be the actual big thing in mobile app development for the coming years, because it solves tons of problems in the 80% part of the app developer’s workload. Want to change your UI design in Objective-C? Edit, recompile, run - repeat until you get satisfactory results. This can easily take a whole day if the recompile step is long. Doing that same thing with HTML5? Edit a few CSS attributes in weinre and experiment away - you don’t even need to shut down the app. Yes you can debug an HTML5 mobile app, to some extent, by running it in a desktop browser. But believe me - your app will have a bunch of bugs that happens only on the mobile device, so weinre is absolutely needed.

Unfortunately, people usually tout their toolkits and their features and seldom glorify useful debuggers, so I guess it won’t get talked a lot even though it’ll actually be the thing that mobile HTML5 developers use the most.

The Present State

I hate writing conclusions, but this is a really long blog post, which even myself will need a few points to remind myself - when I read my own posts later.
  1. Two ways to do HTML5 apps on mobile, full-stack or only using the JavaScript engine.
  2. The JS engine approach makes sense for making games. I have reservations for implementing a full UI toolkit on that due to the complexities involved in the interfacing layer - but, we’ll see.
  3. Full-stack HTML5 mobile app is slow and buggy, but can be mitigated with custom optimizations. Not many people have managed to do that but it's possible.
  4. The real benefit of doing HTML5 mobile apps is the possibility of debugging and changing it online. Native app developers will have a hard time matching that kind of development speed advantage - once the team has problem #3 resolved.
  5. Oh yes, porting is easy as well. But I assume everyone gets that automatically.

175 comments:

NKS said...

Thanks! Very insightful and helpful post!

Scott Breakall said...

Great write-up, very helpful.

Dave Ward said...

Very good writeup. HTML5/mobile posts seem to end up preaching hyperbolic extremes these days, but this is refreshingly accurate and balanced info.

Regarding the console/debugging situation, also check out Remy Sharp's http://jsconsole.com/. It provides a really slick approach to JS debugging on mobile devices.

Naghi said...

Thank you for taking the time to put this together. Very useful.

Parag said...

Thanks for this excellent article.

I am planning to create some mobile applications in the future... I am sure the information that you have shared here will be very useful.

Nick Moore said...

I've also found you can get a long way with jQuery/jQTouch debugging by just running under Chromium browser in a smallish window.

Not identical behaviour to Safari Mobile, but gets you fairly close and has a really excellent debugger.

Naveen J P said...

Very helpful!

Would luv to get your opinion on Processing.js (if you have used it) as the JS UI library. I found it great as its java based and I can do server side simulation with the same code that runs on the client. It however had performance issues on the iPhone.

Joomla Development said...

Insightful post. I was not knowing about this information. And i have learned more information from this blog.

Kou Man Tong said...

@Naveen: I haven't used processing.js myself. But instinctively, I'd avoid that level of fanciness with full-stack HTML5.

If you take a look at how projects like jQuery Mobile fixed their flickering animation bugs for example - you'll see they've been working hard trying to squeeze performance with specific browser tricks. processing.js, at the first glace for me at least, is based on generic things like canvas. It's still possible to get good performance with it on mobile phones, but then I'd expect you'll be severely limited in the number of things you can do while retaining acceptable performance.

On the other hand, if you can limit processing.js to canvas - then the JS-only approach could work.

muebles en girona said...

Thanks so much for your article, very effective piece of writing.

Facebook Fan Page said...

Regarding the console/debugging situation, also check out Remy Sharp's http://www.socialcubix.com/. It provides a really slick approach to JS debugging on mobile devices.

Mobile Publishing said...

Its not that HTML 5 has lost its importance.It is still used for publishing.

cm punk said...

this is such a nice and useful information for us...i appreciate urs word.........Android Application Development India

Anonymous said...

I don't even understand how I ended up here, however I assumed this submit was once great. I do not recognize who you are but definitely you are going to a well-known blogger should you aren't
alreаdy. Chеers!

Take a loοk at mу webpage :: Webgames Worth Playing
Feel free to surf my web page ; flash arcade

Anonymous said...

Thanks for the auspicious writeup. It in reality
was once a leisure account it. Look complicated to far delivered agreeable from you!
However, how can we communicate?
My webpage - ancestris.org

Anonymous said...

buy cheap xanax xanax identifier - xanax side effects menstrual cycle

Anonymous said...

xanax without a perscription xanax dosage for panic attack - xanax and alcohol side effects

Anonymous said...

generic xanax xanax drug high - buy .25mg xanax

Anonymous said...

tramadol 50mg tramadol xanax together - tramadol zoloft

Anonymous said...

buy carisoprodol carisoprodol 5513 dan - carisoprodol 350 mg expired

Anonymous said...

buy tramadol online tramadol hcl vs.tylenol 3 - buy tramadol online no prescription cheap

Anonymous said...

buy tramadol online tramadol recreational high - tramadol 50mg tablets dosage

Anonymous said...

generic xanax many xanax pills lethal - xanax pills prices

Anonymous said...

xanax online xanax side effects bad dreams - effects of xanax pills

Anonymous said...

buy tramadol online tramadol zolpidem - tramadol 50 mg to get high

Anonymous said...

generic xanax xanax bars identification - generic time release xanax

Anonymous said...

buy carisoprodol carisoprodol dosage recreational - will carisoprodol 350 mg get you high

Anonymous said...

I lіκе the ѵaluаble informatiоn you supply οn your artiсlеѕ.
I'll bookmark your blog and check again right here regularly. I'm fairly surе I will bе told
many neω stuff rіght right herе! Good luсk fοr thе next!


Нere is my web site - Princess Di wedding date

Anonymous said...

buy carisoprodol carisoprodol drug abuse - carisoprodol 350 mg looks like

Anonymous said...

buy tramadol online buy tramadol ultram - what is tramadol sr 100mg

Anonymous said...

cialis online cialis discount - cialis 20 mg price comparison

Anonymous said...

buy tramadol online tramadol 50 mg dogs side effects - buy tramadol online no prescription usa

Anonymous said...

After going over а handful of the blog аrtіcles on yоur blog, I tгuly appreciаte your teсhnіque οf wгitіng а blog.
I bοok maгked it to my bоokmагk site list аnd
will be checking bасk soon. Take a lооk
at mу webѕite too and let me know hоw
yоu feel.

Αlѕo visіt mу wеb рage: Plugin For Blogs

Anonymous said...

xanax online xanax drug experience - can xanax overdose be fatal

Anonymous said...

buy cialis online buy cialis online overnight shipping - cialis daily price

Anonymous said...

xanax online alprazolam 0.5 mg picture - ritalin and xanax high

Anonymous said...

cialis 20mg cialis voucher - buy 200 mg cialis

Anonymous said...

buy cialis cialis daily how long to take effect - cialis 5mg daily reviews

Web developer said...

This was an excellent article. It has some valuable content on this topic. Thank you for compiling it into an easy to read and well written post.

Anonymous said...

buy cialis online buy cialis over the counter - buy cialis professional cheap

Anonymous said...

buy cialis daily cialis online from canadian pharmacy - cialis canadian pharmacy

Anonymous said...

http://landvoicelearning.com/#38471 tramadol dosage veterinary - tramadolonlinepharmacy

Anonymous said...

tramadol 100mg buy tramadol online new zealand - tramadol cause high

Anonymous said...

http://landvoicelearning.com/#23561 buy tramadol online with echeck - buy generic tramadol no prescription

Anonymous said...

http://buytramadolonlinecool.com/#30694 tramadol overdose many - buy tramadol pay cod

Anonymous said...

http://landvoicelearning.com/#51438 tramadol hcl fda - buy tramadol online pharmacy

Anonymous said...

http://landvoicelearning.com/#21906 buy tramadol with cod - tramadol overdose long

Anonymous said...

buy tramadol tramadol 50 mg withdrawal - tramadol hcl long term effects

Anonymous said...

Hey there, I think your blog might be having browser compatibility issues.

When I look at your website in Ie, it looks fine
but when opening in Internet Explorer, it has
some overlapping. I just wanted to give you a quick heads up!
Other then that, great blog!

My web blog www.sbwire.com

Anonymous said...

What a data of un-ambiguity and preserveness of valuable experience on the topic
of unpredicted emotions.

Here is my site http://Goarticles.com/article/Is-Hair-Loss-Inevitable-What-About-Profollica/6048433/

Anonymous said...

I used to be able to find good information from your articles.



Here is my web page: Kingbio hemorrhoid relief

Anonymous said...

http://landvoicelearning.com/#51438 tramadol for dogs for pain - tramadol hcl generic ultram

Anonymous said...

It's an remarkable post designed for all the online visitors; they will take advantage from it I am sure.

my webpage - blog.com

Anonymous said...

Good day I am so happy I found your web site, I really found you by error, while I was looking
on Askjeeve for something else, Anyhow I am here now and would just like to say thanks a lot for a remarkable post and
a all round entertaining blog (I also love the theme/design), I don’t have time to read
through it all at the moment but I have bookmarked it and also added in your RSS feeds,
so when I have time I will be back to read much more, Please do keep up the
excellent work.

My webpage - http://hoidtreatment.webs.com/apps/blog/show/13932031-have-you-heard-about-profollica-

Anonymous said...

Magnificent beat ! I would like to apprentice at the same time as you amend your site, how can i subscribe
for a weblog web site? The account aided me a appropriate deal.
I had been tiny bit familiar of this your broadcast provided vibrant transparent idea

Visit my page ... http://bozooble.com/index.php?do=/profile-12906/info/

Anonymous said...

Heya i'm for the first time here. I came across this board and I find It really useful & it helped me out much. I hope to give something back and help others like you helped me.

Also visit my web blog http://refrigeratorwaterfilters.webs.com
My site: refrigeratorwaterfilters.webs.com

geetha said...

wonderful information, I had come to know about your blog from my friend nandu , hyderabad,i have read atleast 7 posts of yours by now, and let me tell you, your website gives the best and the most interesting information. This is just the kind of information that i had been looking for, i'm already your rss reader now and i would regularly watch out for the new posts, once again hats off to you! Thanks a ton once again, Regards, Html5 online trainingamong the Html5 in Hyderabad. Classroom Training in Hyderabad India

Anonymous said...

I know this website presents quality dependent posts and other data,
is there any other web page which presents these information in quality?



My web site Kingbio Hemorrhoid Relief

Anonymous said...

Pretty! This was a really wonderful post. Thanks for providing this information.



Here is my webpage; http://Members.allexterior.com/groups/provillus-hair-loss-aid-for-males-and-female/

Anonymous said...

http://landvoicelearning.com/#38471 tramadol hcl 50 mg tab amn - help for tramadol addiction

Anonymous said...

Hi there! I'm at work browsing your blog from my new apple iphone! Just wanted to say I love reading your blog and look forward to all your posts! Carry on the outstanding work!

Feel free to visit my blog post Petghar.Com

Anonymous said...

Wow, that's what I was searching for, what a data! present here at this blog, thanks admin of this web site.

my blog - http://jacquesschneider.webs.com/apps/blog/show/20963752-digital-hair-styles-with-chi-nano-flat-irons

Anonymous said...

Woah! I'm really digging the template/theme of this site. It's simple, yet
effective. A lot of times it's very hard to get that "perfect balance" between usability and visual appeal. I must say you have done a awesome job with this. In addition, the blog loads super quick for me on Firefox. Superb Blog!

Also visit my weblog: http://Hemorrhoidtreatmentreviews.webs.com/apps/blog/show/3388034-h-miracle-review-the-hemorrhoids-solution-

Anonymous said...

I all the time emailed this website post page to all my friends, for the reason
that if like to read it next my friends will too.



Also visit my web page: Actingalert.com
my webpage: Provillus Reviews

Anonymous said...

buy tramadol online tramadol hcl good pain - cheap tramadol online usa

Anonymous said...

Greetings! Very useful advice in this particular article! It's the little changes that will make the most important changes. Thanks a lot for sharing!

Here is my blog post - Edith

Anonymous said...

Greetings from Ohio! I'm bored to death at work so I decided to check out your site on my iphone during lunch break. I enjoy the info you provide here and can't wait to take a look when I get home.
I'm shocked at how quick your blog loaded on my cell phone .. I'm not even using WIFI, just 3G .
. Anyways, great site!

my website: George

Anonymous said...

Hello There. I discovered your blog the use of msn.
That is a very well written article. I'll make sure to bookmark it and come back to learn more of your useful info. Thank you for the post. I'll certainly return.



my website: Kingbio hemorrhoid relief

Anonymous said...

buy tramadol online buy tramadol from thailand - cheap tramadol no prescription needed

Anonymous said...

Hi, i feel that i noticed you visited my site so i came to go back the want?
.I'm attempting to find things to improve my site!I suppose its ok to make use of a few of your ideas!!

Look into my page: http://jacquesschneider.webs.com/apps/blog/show/20963783-defining-fashion-of-chi-camo-flat-irons

Anonymous said...

Greetings! Very helpful advice within this post! It's the little changes which will make the greatest changes. Many thanks for sharing!

Also visit my webpage - http://ibwww.org/instituto/user/profile.php?id=6422

Anonymous said...

It's a pity you don't have a donate button! I'd certainly donate to this fantastic blog! I guess for now i'll settle for
bookmarking and adding your RSS feed to my Google account.
I look forward to brand new updates and will talk about this blog
with my Facebook group. Talk soon!

My web site; HTTP://Www.Formulacompany.com/Exactly-How-And-Where-To-Get-Provillus-Online.htm

Anonymous said...

No matter if some one searches for his necessary thing, thus
he/she desires to be available that in detail, so
that thing is maintained over here.

Look into my webpage: Kingbio hemorrhoid relief

Anonymous said...

If yоu want to get a great deal from this aгticle then уou hаve to аρply theѕе methods to youг won webѕite.



My blog; SEOPressor

Anonymous said...

tramadol online buy tramadol online without prescriptions usa - buy tramadol online dogs

Anonymous said...

I am not sure where you are getting your info, but good topic.
I needs to spend some time learning more or understanding more.

Thanks for wonderful information I was looking
for this information for my mission.

Check out my site; gloriaglass.wetpaint.com

Anonymous said...

An impressive share! I've just forwarded this onto a coworker who has been conducting a little research on this. And he in fact bought me breakfast because I discovered it for him... lol. So let me reword this.... Thanks for the meal!! But yeah, thanx for spending time to talk about this topic here on your blog.

Feel free to surf to my web page http://briggshemorrhoids.blog.com/2012/10/24/why-do-so-many-people-buy-provillus/

Anonymous said...

Ιt is in realіtу а great and useful pieсe of informаtiοn.

I am glаd that уοu ѕimply shaгed thiѕ
uѕeful info ωith us. Plеаse ѕtаy us іnformed liκe this.
Thanks for sharing.

my website - https://pinterest.com/pin/391531761324454974/

Anonymous said...

Every weekеnd і useԁ tο go to sеe
thіs web site, as i wаnt enjoуmеnt,
fοг thе reason thаt this this website
conationѕ іn faсt plеaѕant funnу ѕtuff tоo.


my web-ѕite; wedding dresses

Anonymous said...

buy tramadol online tramadol withdrawal day 4 - does tramadol hcl 50 mg contain acetaminophen

Anonymous said...

I think that everything published was actually very
logical. But, think on this, suppose you added
a little content? I am not saying your information isn't solid, but what if you added something that makes people want more? I mean "Present State of HTML5 in Mobile App Development" is kinda plain. You should look at Yahoo's home
page and watch how they create article headlines to get people to
open the links. You might try adding a video or a picture
or two to grab people excited about everything've got to say. In my opinion, it would make your blog a little livelier.

Look at my web-site ... Krystle

Anonymous said...

We are a group of volunteers and starting a new scheme in
our community. Your website provided us with valuable
info to work on. You have done a formidable job and our entire community will be thankful to you.



Review my blog post - Kingbio hemorrhoid relief

Anonymous said...

Touche. Sound arguments. Keep up the good spirit.



my page ... http://www.gourmetgastronomer.com/twitter/index.php/ahpmargue

Anonymous said...

http://buytramadolonlinecool.com/#30694 can you buy tramadol over the counter in usa - tramadol withdrawal babies

Anonymous said...

I like it when folks come together and share opinions.
Great website, keep it up!

My webpage :: http://hoidtreatment.webs.com/apps/blog/show/13931969-procerin-meh-it-s-ok-

Anonymous said...

Fine way of telling, and fastidious post to take
data about my presentation focus, which i am going to convey in college.


my site :: http://freezonearticles.com/Stop-Hereditary-Baldness--A-Provillus-Review.htm

Anonymous said...

Wonderful blog! Do you have any helpful hints for aspiring writers?
I'm planning to start my own website soon but I'm a little lost on everything.
Would you recommend starting with a free platform like Wordpress or go for a paid option?
There are so many options out there that I'm completely overwhelmed .. Any recommendations? Bless you!

Also visit my web-site :: www.socialswager.com

Anonymous said...

Definitely believe that which you stated. Your favorite
justification appeared to be on the net the easiest thing to be aware of.
I say to you, I definitely get annoyed while people consider worries that they just don't know about. You managed to hit the nail upon the top as well as defined out the whole thing without having side effect , people could take a signal. Will probably be back to get more. Thanks

my site: http://blogtext.org/jamenolan/article/1172058.html

Anonymous said...

buy tramadol online buy tramadol with american express - tramadol hcl xr 100mg

Anonymous said...

tramadol 100 buy tramadol online no prescription usa - legal buy tramadol usa

Anonymous said...

http://landvoicelearning.com/#62431 buy tramadol 50 mg - buy tramadol online no prescription usa

Anonymous said...

If some one wishes to be updated with most up-to-date technologies after that he must be visit this
site and be up to date daily.

Also visit my blog post: http://refrigeratorwaterfilters.webs.com/apps/blog/show/20856300-discount-refrigerator-water-filters-and-how-to-find-them

Anonymous said...

Hi there! I realize this is kind of off-topic but I had to ask.

Does operating a well-established website like yours require a large amount of work?
I'm completely new to running a blog but I do write in my journal daily. I'd like to start a blog so I will be
able to share my personal experience and feelings online.

Please let me know if you have any kind of recommendations or tips for new aspiring bloggers.
Thankyou!

Also visit my web-site scalpmed

Anonymous said...

buy tramadol trusted online pharmacy tramadol - buy tramadol online missouri

Anonymous said...

What a information of un-ambiguity and preserveness of valuable experience concerning unexpected feelings.


Here is my page - http://coloncleanserreviews.Typepad.com/colon-cleanse/2012/12/ceramic-water-filters-versus-charcoal-water-filters-.html

Anonymous said...

I am in fact pleased to read this blog posts which consists
of lots of useful facts, thanks for providing such statistics.


my page :: www.sbwire.com

Anonymous said...

generic tramadol online tramadol hcl msds - tramadol 50mg what does it look like

Anonymous said...

http://reidmoody.com/#53287 buy ativan online cheap - long until ativan addiction

Anonymous said...

generic tramadol tramadol with high blood pressure - tramadol 400

Anonymous said...

Hi, I do think this is an excellent website. I stumbledupon it ;) I'm going to revisit once again since i have saved as a favorite it. Money and freedom is the greatest way to change, may you be rich and continue to guide others.

Here is my web-site http://coloncleanserreviews.typepad.com/colon-cleanse/2012/12/amana-refrigerator-water-filters-.html
My webpage: http://coloncleanserreviews.typepad.com/colon-cleanse/2012/12/amana-refrigerator-water-filters-.html

Anonymous said...

My brother suggested I might like this web site. He used to be entirely right.
This post actually made my day. You cann't consider simply how so much time I had spent for this info! Thanks!

Also visit my blog post :: http://hemorrhoidtreatmentreviews.webs.com/apps/blog/show/3388234-venapro-review-for-treating-hemorrhoids

Anonymous said...

Hey there just wanted to give you a brief heads up and let you know a few of the pictures
aren't loading correctly. I'm not sure why but I think its a linking issue.
I've tried it in two different internet browsers and both show the same results.

Feel free to surf to my site http://Coloncleanserreviews.Typepad.com/

Anonymous said...

buy tramadol cod fedex tramadol 50 mg looks like - tramadol online no rx

Anonymous said...

http://reidmoody.com/#45570 buy ativan australia - ativan uses depression

Anonymous said...

buy tramadol tramadol dosage webmd - tramadol dosage osteoarthritis

Anonymous said...

It's an amazing post for all the web people; they will obtain advantage from it I am sure.

Here is my blog :: profollica

Anonymous said...

ways to buy ativan online ativan withdrawal .5 - generic ativan (lorazepam) 2mg

Anonymous said...

http://reidmoody.com/#92465 ativan withdrawal neck pain - lorazepam 1 mg from india

Anonymous said...

buy xanax online generic xanax difference - xanax generic substitute

Anonymous said...

Me and ozzy fucked tougher, trying to show to our god!
FUCK YES!' right before cumming inside my warm pussy. were still fucking

my web page - hcg injections
my page - hcg injections

Anonymous said...

http://ranchodelastortugas.com/#61301 where to buy xanax bars - yellow xanax effects

Anonymous said...

http://ranchodelastortugas.com/#50238 extended release xanax side effects - buy xanax online pharmacy

Anonymous said...

buy tramadol next day tramadol purchase fedex - tramadol gastric bypass

Anonymous said...

http://ranchodelastortugas.com/#51462 generic xanax wiki - xanax drug reactions

Anonymous said...

buy tramadol online tramadol 50 mg interactions - buy-tramadol-online.org

Anonymous said...

buy xanax online xanax overdose and seizures - xanax side effects webmd

Anonymous said...

Hi there mates, its wonderful article about educationand completely explained, keep
it up all the time.

Feel free to visit my homepage :: http://thuvuwwai.webs.com/

Anonymous said...

Hi there, I desire to subscribe for this web
site to take latest updates, so where can i do it please help.


My page; www.goodreads.com

Anonymous said...

order xanax does xanax show up on military drug test - order xanax overnight online

Anonymous said...

I'm not sure where you are getting your information, but good topic. I needs to spend some time learning more or understanding more. Thanks for magnificent information I was looking for this info for my mission.

My blog provillus and propecia

Anonymous said...

cheap xanax buy xanax online from india - xanax withdrawal kidney pain

Anonymous said...

Hello There. I found your blog using msn.

This is a very well written article. I'll be sure to bookmark it and return to read more of your useful info. Thanks for the post. I'll certainly return.


Also visit my website ... provillus

Anonymous said...

If you want to obtain a great deal from this paragraph then you have to apply these methods
to your won blog.

Feel free to visit my website: provillus singapore

Anonymous said...

hi!,I love your writing so so much! proportion we communicate more about your post on AOL?
I need an expert on this space to solve my problem. May
be that's you! Looking forward to look you.

Also visit my page http://www.totsites.com/tot/theueeak/journald/523087.html

Anonymous said...

Hi there to all, how is all, I think every one is getting more from this web page, and your
views are nice in support of new viewers.

Review my webpage - provillus

Anonymous said...

Touche. Sound arguments. Keep up the great effort.

Here is my web site ... runnerspace.com

Anonymous said...

Do you mind if I quote a couple of your posts as long as
I provide credit and sources back to your webpage?
My blog site is in the exact same area of
interest as yours and my visitors would definitely benefit from a lot of the information you present here.
Please let me know if this alright with you. Many thanks!


My webpage; /blog/4574787980/Don't-Buy-Provillus-Before-reading-This-Provillus-Assessment/5197147

Anonymous said...

This piece of writing will assist the internet people for creating new website or even a weblog from start to end.


Feel free to visit my webpage :: rottentomatoes.com

Anonymous said...

You really make it appear really easy with your presentation but I to find this topic to be really one
thing that I believe I'd by no means understand. It seems too complex and very broad for me. I am taking a look ahead in your next post, I will try to get the hang of it!

Also visit my page; www.23hq.com

Anonymous said...

Hi there I am so happy I found your blog, I really found you by
error, while I was browsing on Digg for something else, Anyways I am
here now and would just like to say thank you for a fantastic post and
a all round entertaining blog (I also love the theme/design), I don’t have time to
read it all at the minute but I have saved it and also included your RSS feeds, so when I have
time I will be back to read a great deal more, Please do keep up the fantastic work.


Also visit my blog theueeak.healthkicker.com

Anonymous said...

I usually do not create a comment, however after browsing some
of the comments on "Present State of HTML5 in Mobile App Development".
I actually do have some questions for you if it's allright. Is it just me or does it appear like some of these responses come across like they are written by brain dead individuals? :-P And, if you are posting on additional online sites, I would like to follow you. Could you list of the complete urls of all your public sites like your Facebook page, twitter feed, or linkedin profile?

Take a look at my web blog :: message.diigo.com

Anonymous said...

You are so cool! I do not suppose I've truly read something like that before. So great to find another person with unique thoughts on this subject matter. Seriously.. thanks for starting this up. This site is something that is required on the internet, someone with some originality!

Also visit my webpage - provillus

Anonymous said...

Hello There. I found your blog using msn. This is a really well written article.
I will make sure to bookmark it and return to read more of your useful info.
Thanks for the post. I will certainly comeback.

Feel free to visit my site provillus vs viviscal

Anonymous said...

This is a topic which is close to my heart... Best wishes!

Exactly where are your contact details though?



Check out my blog post http://www.xfire.com/blog/ftertertrt/4601246

Anonymous said...

Hi, There's no doubt that your blog could possibly be having web browser compatibility issues. When I take a look at your web site in Safari, it looks fine however, when opening in IE, it has some overlapping issues. I merely wanted to give you a quick heads up! Apart from that, wonderful blog!

Also visit my web-site ... provillus

BeckFranklin said...

HTML 5 & native development both are good in now position.now Sencha is coming so using it, it remaking with HTML 5.

Anonymous said...

I every time еmаileԁ this blοg post ρage to all my cоntacts, for the reason thаt if liκe to read it neхt my сontactѕ will tοo.



Stop by my web blοg: raspberry ketone uk

Anonymous said...



Feel free to surf to my web site homepage

Anonymous said...



My web blog web page

Anonymous said...

Hi! Ι геalize this is ѕomewhat off-toρic but I needeԁ to ask.
Does running a well-established blog such as youгѕ requirе a massive amount woгk?
I'm brand new to writing a blog however I do write in my journal daily. I'ԁ like tο start а blog so I will be
able to share my oωn exрeriencе and feelings onlinе.
Plеase let mе know if you havе аny recommеndatiοns or tipѕ for new аsρігing bloggers.
Τhankуou!

Alѕo viѕit mу blog :: vitamin shoppe coupons

Anonymous said...

This is a additionally for all those functioning out in time and energy to one of several preferred dwelling conditioning
work out DVD programs, as ten seconds is a lot more than
adequate time for you to remain correct on track together with the packages.


Here is my blog; life smart Dumbbells

Anonymous said...

buy tramadol with mastercard order tramadol no prescription - buy tramadol saturday delivery

Anonymous said...

Very well who would've believed that an NFL jock would come up with such an excellent notion!

My blog post click the next internet page

Anonymous said...

The inks and cleaning materials used in the screen stickers graphics decals method.
The technological advance in the system increased, but the
shear thickening of the stickers graphics decals.

You can find more information on these case studies, contact Plus Technologies.
The company was also ordered to pay? Atala and
his team are leading the way in which do business. And her confident pose suggests she feels no
fear about her upcoming 70th birthday.

my web-site :: create stickers

Anonymous said...

The Bowflex Final Property Fitness center delivers 90 probable work
outs, when the Final 2 features 95+ doable exercises.


Feel free to surf to my webpage: weight sets for sale

Anonymous said...



Also visit my homepage ... site

Anonymous said...

I'm not in a position to view this web site correctly on opera I believe there's a drawback

Also visit my web-site - having trouble getting pregnant after a miscarriage

Anonymous said...

It's useful for many more years, we'll see even more help through state health insurance exchanges in another eight states and the
District of Columbia Fire & EMS for an amb.
Have a question about entitlement reform. This means, you are then ready to
drive traffic visitors to your booth. Be sure to check out on Saturday
will take you to the creation process, with no connection to
small business plan consulting firms owners with sales under
$10 million.

My blog business plan consulting firm

Anonymous said...



my web blog - web site

Anonymous said...

Youг own wгite-up fеatures verifіеd helpful to me.
It’s extremely educational and you're simply naturally really knowledgeable of this type. You have exposed my own face to numerous views on this particular subject with intriquing, notable and strong content.

Also visit my blog post ambien

Anonymous said...

Pedipull is really a pole inside of a shape of the "T" bolted to the wall or to your ground.


Feel free to surf to my blog post ... free weights for sale

Anonymous said...

If you're searching for the Lots of further some thing with your cardio training session I'd unquestionably try using
the incline functionality on some elliptical equipment.

My web-site :: best adjustable weight dumbbells

Anonymous said...

The 1 issue I definitely liked is each one of these resistance bands
work outs would be the similar given that the kinds you are able to do with absolutely free weights, exercise equipment, cable
devices, and dumbbells.

My web page ... http://www.getfitnstrong.com/bowflex-dumbbells/reviewing-bowflex-selectt...

Anonymous said...

Buy Priligy Online where to buy priligy in malaysia - where to buy priligy online

Anonymous said...

I'm curious to find out what blog platform you're working
with? I'm experiencing some small security issues with my latest website and I'd like to find
something more risk-free. Do you have any suggestions?


Take a look at my page; SEO

Anonymous said...

Greetings! This is my first visit to your blog!
We are a collection of volunteers and starting a new project in a community in the same niche.

Your blog provided us beneficial information to work on.
You have done a outstanding job!

my blog - http://www.exiledloot.com

Anonymous said...

Have you ever considered about including a little bit more than just your
articles? I mean, what you say is fundamental and all.
Nevertheless imagine if you added some great graphics or video clips to give your
posts more, "pop"! Your content is excellent but with pics and video clips, this blog could certainly be one of the best in its field.

Amazing blog!

Take a look at my web blog: http://beltbucklesexpert.com

Anonymous said...

My spouse and I stumbled over here coming from a different
web page and thought I should check things out.
I like what I see so i am just following you.
Look forward to looking into your web page repeatedly.


my weblog :: buy PoE gear

Anonymous said...

For 90% of people this weight set may be the proper selection since it can be
functional plenty of for both equally males and ladies and
it is capable to go upwards in minimal increments.

my webpage ... www.getfitnstrong.Com

Austin Alvarez said...

Very useful guidance in this particular article, It iss the little changes that will create the most essential changes.

Firoz Khan said...

Such A Nice Information Thanks For That
recover deleted text messages iphone
recover iphone contacts
recover deleted text messages iphone
Thanks

sonu maurya said...

We offer affordable yet professional bespoke website and software solutions to businesses Ipad App Developers Leeds in the Leeds area and throughout the UK

Manoranjan Sahoo said...

HTML 5 is the latest version of HTML. By using this developer can easily add any video or audio files with some other advantages like; Elegant form, offline application cache etc.
Website design company in India

lalit jain said...

HTML5 is the next generation and fifth version of HTML technology for content-rich website development.HTML5 is the latest addition to the World Wide Web.Our experience in HTML5 Web Development empowers us to take up challenging project and deliver promising results with utmost perfection.

Sara said...

We have to look in this direction, mobile apps and web apps have to be programmed and designed as equals we need to unificate this, because in the future all will be mobile apps

Flex Sin said...

You got a really useful blog I have been here reading for about an hour. I am a newbie and your success is very much an inspiration for me. html5

Emelia Grase said...

We make sites for clients substantial and little with inventive plans, visual effect and bespoke levels of functionality.webbitez are an inviting UK based organization with the in-house aptitudes blend to make sites and partnered showcasing materials. Our center abilities incorporate promoting background, outline, proficient photography in addition to coding finesse and modifying capacities.
Build Android App // Mobile Application Development // Android Application Development

Sarah Taylor said...
This comment has been removed by the author.
John Dudley said...

Mobile App Development services and Android Application development is custom Mobile application development and Android Application Development Company, who offers hire an affordable, professional and skilled mobile app developers.

Sarah Taylor said...

HTML5 is the 5th next generation and latest version of HTML technology for website development.HTML5 is the latest addition and in used to the World Wide Web. My experience in HTML5 web development empowers me to take up challenging project and deliver promising results.

Gliter Jone said...

Really amazing blog, I’d love to discover some extra information. Dylan - ButtonBoy

Zraz Solutions said...

Providing the Best Security Systems for Protection
Z Raz provides state of the art and highly sophisticated CCTV monitoring services
NEW YORK – One of the leading firms in the world that provides Global Business Process Outsourcing service (BPO), Z Raz Solutions (www.zrazsolutions.com) has also established itself as one of the leading mobile and computer application development services provider and has also successfully dabbled in providing state of the art and highly sophisticated CCTV monitoring services to various clients from both the business and professional industry to domestic levels which has become very important for security purposes as times have inadvertently changed recently.
Global business solution

Magnific Online Training said...

Keep working ,great job!
Awesome post

Microsoft dynamics crm 2015 online training in London

Elliot Thomson said...

online viagta cheap

Oracle Fusion said...

Nice effort, very informative, This is very informative and interesting for those who are interested in blogging field...............
R12 HRMS Online Training