Nothing Insightful

  • Archive
  • RSS

Repository Updates

iOS Theme for jQuery Mobile

Good news! I’ve just pushed some major changes for my iOS jQuery Mobile theme. It now works with jQuery Mobile 1.1.0, which was a bit of a struggle. It also forced me to do some major code cleanup, delivering cross browser gradients and various enhancements I had been putting off.

A full list of changes and resolved bugs follows:

  • Supports jQuery Mobile 1.1.0 (this was a nightmare)
  • Code cleanup more strictly obeys my coding conventions
  • All gradients and effects are now cross browser compatible (Issue #2)
  • Updated slider toggle to iOS 5 style (Issue #7)
  • Got dialogs looking as close to native as possible considering jQuery Mobile doesn’t support overlayed dialogs (they’re standalone pages) (Issue #3)

The changes have introduced a few minor visual quirks relating to the .ui-focus box shadows etc, but hopefully these will be rectified in the near future.

 


jQuery Gantt

I made some minor code changes, but the most important thing here was the addition of documentation. The original creator didn’t provide any, so hopefully this makes a bit more sense. I’m sure I’ve missed something here and there (holidays?), but I’ll fix that up as we go.

The changes:

  • Added documentation and better demo with bootstrap popovers
  • Works with latest jQuery 1.7.2
  • Merged pull request for “undefined error”, thanks Nathan Colgate.
  • Code and folder cleanup
 

Front End Development Guidelines

The page now passes HTML5 validation. Apparently some people care about this.

 
    • #iOS
    • #jQuery
    • #jQuery Mobile
    • #Gantt
    • #plugin
    • #design
    • #front ent dev
    • #guidelines
    • #css
    • #html
    • #iphone
  • 4 weeks ago
  • Comments
  • Permalink
  • Share

jQuery Mobile 1.0.1 - iOS Theme Compatible

I haven’t touched the iOS inspired jQuery Mobile theme in quite a while, but a few of you have been messaging, mailing at tweeting at me asking if I’ll support the jQuery Mobile 1.0 build. And….. it’s done. Here’s the list of changes:

  • Updated to jQuery Mobile 1.0.1 build
  • Fixed graphical issues stemming from this: #23, #24 and #25
  • Page buttons now take on gradient-less style (previously only <a> tags)
  • Merged a pull request related to a button icon bug fix

As always, the demo is up to date and available.

 

    • #jquery
    • #mobile
    • #jquery mobile
    • #ios
    • #design
    • #css3
  • 1 month ago
  • 5
  • Comments
  • Permalink
  • Share

3D Accordion Effect - UX Lab 006

I posted the following experiment as a way of demonstrating just how far the line has blurred between web based animation and OS based animation. I saw Dribbble shots (one and two) by Indian designer Pranav Pramod and was inspired to replicate the effect in CSS3.

Unfortunately nothing is ever as easy as it seems. If it was, someone else would have already posted a similar effect. The problem is that when animating something with a 3D transform with a forced perspective, there is no way to measure or mirror the actual height represented in the browser using CSS. If you animate the parent element from 0px in height to 30px, it’s a straightforward linear animation. The 3D transform, on the other hand, changes on a non-linear scale because of the perspective.

There are two solutions, neither of which are desirable.

The first involves JavaScript, which frankly I had tried to avoid. In this example, the animation is triggered by the addition of a CSS class via JavaScript - but could just as easily be bound to an :active:target CSS event. The only way to get the actual browser rendered height of the element is to get it via JavaScript with the obj.clientHeight getter. While discussion pointed to wrapping the object in a parent element and not needing JavaScript at all, this does not work in all browsers.

Instead the JavaScript method involves binding a function with requestAnimationFrame which sets the parent objects height to mirror the calculated height of the transformed object. Accurate, but if we wanted to perform calculations many times per second, why did we bother animating with CSS at all?

The other method, considerably less accurate and very fiddly, is to match the easing or timing of the two animations. It may be possible to create a custom timing function using cubic-bezier which matches the rate of easing of a 30px tall object, rotating from -90deg to 0deg, with a perspective of 400 units. But why would you? That’s shit house.

Maybe in this instance a flat out Canvas animation would have been much more sensible. You’re still performing a function every ‘x’ milliseconds, but at least the canvas itself may be hardware accelerated. Until CSS animation matures, we will most likely have to abuse the JavaScript add-ons such as the one described earlier. Or even better yet, sever the ties with HTML and CSS and - get this right - use graphical languages for what they’re intended.

Ninja Edit: Also, you can’t yet animate background gradients so the whole 3D effect on the depth of the flaps is kind of impossible for now.

Sad-face Edit: The second I posted this, someone posted pretty much the exact same thing to Hacker News in a much more polished way. Check out Paperfold CSS.

 

    • #css
    • #css3
    • #html
    • #ux
    • #javascript
    • #experiment
    • #dribbble
    • #ui
    • #design
  • 1 month ago
  • 3
  • Comments
  • Permalink
  • Share
'\x3ciframe src=\x22http://player.vimeo.com/video/36579366\x22 width=\x22500\x22 height=\x22281\x22 frameborder=\x220\x22\x3e\x3c/iframe\x3e'

You may have come across the work of Bret Victor before. If not, prepare to lose a substantial part of your day investigating one of the most inspiring tech innovators of today. Not only does the following presentation challenge the mental model behind almost every IDE in the market today, it exposes the fundamental flaw in how we approach problems. It also helps identify those who had that special x-factor in devising solutions by understanding the motivating principles of users when faced with a problem.

It makes me think of the particularly over-used but relevant quote:

“If I had asked people what they wanted, they would have said faster horses.” 
― Henry Ford

If you want to see some of Bret’s work in action but don’t know where to begin on his website, I highly recommend you check out his Tangle project.

    • #inspiration
    • #design
    • #innovation
    • #development
    • #quotes
  • 2 months ago
  • 7
  • Comments
  • Permalink
  • Share
My new personal site is live!
It&#8217;s just a little micro-site tying together a range of social media websites. There&#8217;s some fancy coding behind the scenes that predicts where I&#8217;m going to be at any given time, because we&#8217;re all a walking bell curve. It&#8217;s good to get it out the door, because designers are notorious for over-designing and iterating their personal sites.
Enjoy,taitbrown.com 
Pop-upView Separately

My new personal site is live!

It’s just a little micro-site tying together a range of social media websites. There’s some fancy coding behind the scenes that predicts where I’m going to be at any given time, because we’re all a walking bell curve. It’s good to get it out the door, because designers are notorious for over-designing and iterating their personal sites.

Enjoy,
taitbrown.com 

    • #design
    • #css
    • #css3
    • #location
    • #javascript
    • #vcard
    • #mini site
  • 3 months ago
  • 27
  • Comments
  • Permalink
  • Share
'\x3ciframe width=\x22500\x22 height=\x22281\x22 src=\x22http://www.youtube.com/embed/ra7JTo-zHqI?wmode=transparent\x26autohide=1\x26egm=0\x26hd=1\x26iv_load_policy=3\x26modestbranding=1\x26rel=0\x26showinfo=0\x26showsearch=0\x22 frameborder=\x220\x22 allowfullscreen\x3e\x3c/iframe\x3e'

A behind the scenes look at Mill Touch. There are some amazing concepts going on with this device, aside from bringing the Minority Report concept to life. I particularly love the overlay where you can see the pre and post productions at the same time (around 2:55).

I never knew the team at Mill were behind so many incredible commercials. Nike. Old Spice. Skittles. Budweiser. Various super bowl ads. Here is their 2011 showreel and their more recognisable 2010 showreel.

    • #motion graphics
    • #3d
    • #multi touch
    • #touch screen
    • #ui
    • #ux
    • #design
  • 9 months ago
  • 5
  • Comments
  • Permalink
  • Share
'\x3cscript type=\x22text/javascript\x22 language=\x22javascript\x22 src=\x22http://assets.tumblr.com/javascript/tumblelog.js?914\x22\x3e\x3c/script\x3e\x3cdiv id=\x22photoset_8416411143\x22 class=\x22html_photoset\x22\x3e \x3ciframe class=\x22photoset\x22 scrolling=\x22no\x22 frameborder=\x220\x22 height=\x22505\x22 width=\x22500\x22\x0a style=\x22border:0px; background-color:transparent; overflow:hidden;\x22 src=\x22http://taitems.tumblr.com/post/8377743119/photoset_iframe/taitems/tumblr_lpaje1xTbN1qm7pkl/500\x22\x3e\x3c/iframe\x3e\x3c/div\x3e'

Love the level of detail on the new iCloud site!

(via alanvanroemburg)

    • #icloud
    • #iOS
    • #404
    • #error
    • #design
    • #apple
  • 9 months ago > austinparrishblog
  • 322
  • Comments
  • Permalink
  • Share
iOS Inspired jQuery Mobile Theme
jQuery Mobile doesn&#8217;t deviate far from the pattern established by its sibling libraries: provide something that normalises functionality and/or design across browsers and operating systems. 
The work by the Filament Group has been vital for standardising the look and feel of jQuery Mobile, especially when dealing with incredibly dated or under-featured mobile browsers. Borrowing upon conventions established by both the iOS and Android operating systems, they created something that is palatable across a range of devices.
There will be odd instances when you need an application to look as close to native as possible. I completely agree with the Filament Group&#8217;s arguments against this, but currently designers are forced to roll their own solution. What I have created is the beta framework for an iOS-inspired theme that attempts to bring jQuery inline with the native iOS UI elements. I actually began this project when the first alpha was released, but with taking on a new job and other responsibilities, I found myself lagging behind the release schedule. I&#8217;m not sure of the response this will get, so hopefully I can gauge how much time I should spend on this in future.

But without further ado: here is the iOS-inspired theme for jQuery Mobile. It works great in Chrome, Safari, iPhone and iPad mobile Safaris.
  
Some Caveats
To achieve the look of the iOS style back button with CSS3, the HTML is customised and therefore must be copied and pasted manually. The back button template can be found in the GitHub readme file.
The CSS3 back button isn&#8217;t perfect, there are some jaggedness and shadow issues.
Plenty of elements still remain unstyled, or are missing hit state styling.
Cross browser compliance is a low priority.
This is an add-on theming layer. It was impossible to fork the actual jQuery Mobile theme and attempt to keep up with their changes, so this just sits as a skinning layer on top.
Some Issues This Exposes in jQuery Mobile
Dialogs need some serious work. I could have spent a lot of time and made my dialogs look exactly like the iOS ones, but this would have involved some pretty hectic CSS and JavaScript. As is I had to do a bit of a work around to get them to dock to the bottom and not the top. Most notably broken, the inability for these dialogs to behave like modals - showing the background as obscured.
Back button syntax. They&#8217;re are definitely some cleaner ways to create the iOS style back buttons. I was keen to avoid images, but an image mask might have done really well in this situation. Regardless of that, you will probably find yourself plugging in custom HTML when working with jQuery mobile, and not just the buttons.
It&#8217;s bloody hard to keep up with the release cycle. This is not a bad thing ;)
I am, as always, open to merging pull requests and suggestions to help improve this project. I must also stress that it is important that truly innovative changes best be held off until jQuery Mobile makes it out of beta. ■
Pop-upView Separately

iOS Inspired jQuery Mobile Theme

jQuery Mobile doesn’t deviate far from the pattern established by its sibling libraries: provide something that normalises functionality and/or design across browsers and operating systems. 

The work by the Filament Group has been vital for standardising the look and feel of jQuery Mobile, especially when dealing with incredibly dated or under-featured mobile browsers. Borrowing upon conventions established by both the iOS and Android operating systems, they created something that is palatable across a range of devices.

There will be odd instances when you need an application to look as close to native as possible. I completely agree with the Filament Group’s arguments against this, but currently designers are forced to roll their own solution. What I have created is the beta framework for an iOS-inspired theme that attempts to bring jQuery inline with the native iOS UI elements. I actually began this project when the first alpha was released, but with taking on a new job and other responsibilities, I found myself lagging behind the release schedule. I’m not sure of the response this will get, so hopefully I can gauge how much time I should spend on this in future.


But without further ado: here is the iOS-inspired theme for jQuery Mobile. It works great in Chrome, Safari, iPhone and iPad mobile Safaris.

  

Some Caveats

  • To achieve the look of the iOS style back button with CSS3, the HTML is customised and therefore must be copied and pasted manually. The back button template can be found in the GitHub readme file.
  • The CSS3 back button isn’t perfect, there are some jaggedness and shadow issues.
  • Plenty of elements still remain unstyled, or are missing hit state styling.
  • Cross browser compliance is a low priority.
  • This is an add-on theming layer. It was impossible to fork the actual jQuery Mobile theme and attempt to keep up with their changes, so this just sits as a skinning layer on top.

Some Issues This Exposes in jQuery Mobile

  • Dialogs need some serious work. I could have spent a lot of time and made my dialogs look exactly like the iOS ones, but this would have involved some pretty hectic CSS and JavaScript. As is I had to do a bit of a work around to get them to dock to the bottom and not the top. Most notably broken, the inability for these dialogs to behave like modals - showing the background as obscured.
  • Back button syntax. They’re are definitely some cleaner ways to create the iOS style back buttons. I was keen to avoid images, but an image mask might have done really well in this situation. Regardless of that, you will probably find yourself plugging in custom HTML when working with jQuery mobile, and not just the buttons.
  • It’s bloody hard to keep up with the release cycle. This is not a bad thing ;)

I am, as always, open to merging pull requests and suggestions to help improve this project. I must also stress that it is important that truly innovative changes best be held off until jQuery Mobile makes it out of beta. ■

    • #jQuery
    • #jQuery Mobile
    • #iOS
    • #iPhone
    • #iPad
    • #CSS3
    • #Design
    • #Mobile
  • 10 months ago
  • 96
  • Comments
  • Permalink
  • Share

@font-face Smoothing in Windows Chrome

WARNING: THE FIX BELOW IS DEPRECATED IN CHROME 16 + 17. SAD-FACE :(

You may have noticed the issue in which @font-face embeds rendered in Windows Chrome look mighty jagged. Fixes such as -webkit-font-smoothing barely do anything, so this hack relies on a fairly well known fact about Windows Chrome: putting text-shadow on anything makes it blurry as shit. Original implementations of the hack relied on a solid text-shadow colour, but this no longer works in recent updates. It is now vital to enter an rgba() value instead.

Hopefully you will end up with something like this:

h1, h2, h3, h4, h5 {
  font-family: ‘TodaySHOP-BoldRegular’;
  text-shadow: 0 1px 0 rgba(0,0,0,0.01);
}

Real World Examples:

A real world example of this is best demonstrated on my own Front End Development Guidelines. My header tags were smoothed out with a solid hex colour, prior to the rgba() update. They’re still broken to date. Oops.

But the problem is much more widespread. Consider this ironic blog post on IE font smoothing by @Koodoz, in which the Chrome problem rears its ugly head again. It leads to some interesting accidental changes, where “hate” has become “hale”.

Caveats:

Be aware that this can modify the kerning of the text. There are also situations where the font is hinted in a way that this hack is detrimental. The over-used League Gothic, for example, does not bode well with this method at smaller font-sizes. There were also some comments that this makes Chrome on Mac even blurrier than usual.

Credit:

I’ve been trying to track down who taught me this little trick for a while now. I originally assumed it was @Koodoz, as he invests heavily in @font-face in his designs - but it was news to him. I thought it might be @Rainerbird, as we both read the same kind of stuff online. No dice there either. This blog post also describes the method, but I have probably been using the method just as long and don’t recall visiting that site. The comments and feedback on that blog post are great for further explaining the method and its shortfalls. ■

    • #font face
    • #css3
    • #html5
    • #chrome
    • #webkit
    • #css
    • #design
    • #web design
  • 11 months ago
  • 35
  • Comments
  • Permalink
  • Share
← Newer • Older →
Page 1 of 5

About

My name is Tait Brown, and I'm a Melbourne-based UI designer and a front end developer. I like to make stuff.

taitbrown@gmail.com

Me, Elsewhere

  • taitems on Dribbble
  • taitems on Forrst
  • @taitems on Twitter
  • taita_cakes on Last.fm
  • Linkedin Profile
  • taitems on github

Twitter

loading tweets…

  • RSS
  • Random
  • Archive
  • Mobile

Effector Theme by Carlo Franco.

Powered by Tumblr