My name is Robert Biggs. Yeah, I know there's a lot of us on LinkedIn. I'm not the Assyrian archeologist, the composer, the banker or the realtor. I'm a Web developer living and working in the Bay Area of Northern California. I do both desktop and mobile.
Hey, Why Did You Just Do That?
This project came about after using various Web app development frameworks. These didn't work as I expected, or wanted or needed. After two years of fighting against them, I had had enough. I decided to create my own framework. I wanted something that would be small, uncomplicated, and easy to maintain, learn, understand, extend and update. And did I say small? Yep, small was the number one reason. But being intuitive and easy to understand were also very high on the list. Easy to figure out and easy to understand means you can get your work done faster. The quality of visual presentation was also way up there. After all, the look and feel of an app can count more than anything else, sort of like Hollywood.
In The Beginning There Was ChocolateChip.
I spent some time trying to find the right name for the project. Sun had Java, Apple had Cocoa. Since some of my coworkers had been holding regular "chocolate tasting" get-togethers at work, I thought, "Well, I like chocolate. Chocolate is pure pleasure. And this framework is really a pleasure to work with and it's really small." Then it hit me like a sack of cocoa beans falling from an airplane: ChocolateChip—it's tiny, but delicious.
And ChocolateChip Begat ChocolateChip-UI.
After a lot of time building out proof of concept Web implementations of iOS widgets on my blog, I started thinking that I should gather them together and organize them into a reusable framework. With that the idea for ChocolateChip-UI was born. I've done a lot of development with Microsoft's Silverlight. One of the things I love about it is that when you toss a control into a document, it comes with a certain amount of functionality baked in. Apple does a similar thing with their Cocoa Touch framework for iOS. This led me to build ChocolateChip-UI in such a way as to automate as much functionality as possible. ChocolateChip-UI consists of two core files: ChUI.css and ChUI.js ChUI.js is built on top of ChocolateChip.js.
Can I Borrow Your WAML?
WAML is just a superset of HTML5. As much as HTML5 improves on HTML4 with semantic tags to make document and Web site creation more intuitive, WAML builds on top of HTML5 to provide a way to clearly define the parts and functionalities of Web apps. Because WAML uses the HTML5 doctype, all markup must be well-formed. All WAML tags should have an opening and closing tag. WAML that is not well-formed will not be rendered properly by the browser. You'll notice right away
If you're not satisfied with the functionality of a control, feel free to subclass it. (If you're not sure how to subclass, see the tutorial on subclassing for more details.) Same thing with the styles. Take the CSS and make it yours. I've put a lot of work into making this framework as identical to iOS as was possible. This was based on extensive documentation from Apple, as well as numerous screenshots from application interfaces on iOS devices. I also plan on releasing a version for Android Web apps with a similar level of fidelity, so if you're an Android developer, come back every so often to check on the progress. Or, feel free to fork this and make it do what you need it to now. Take the initiative and break some ground.
One UI to Rule the Three
Web Apps are People too!
One of the driving forces behind the creation of this framework was the desire to get mobile Web apps out of the "uncanny valley". This is the theory that states that when robots reach a certain level of similarity to humans they create a response of revulsion. After crossing that threshold with an increase in human-likeness, the revulsion is replaced with empathy. Mobile Web apps are presently stuck in the depths of the uncanny valley because their appearance and interaction feel clunky, not quite for real and at times out right Webby. Framework authors are contributing to this problem by creating generic themes that look like baubles designed for toddlers to suck on. End users can see the difference right away and therefore perceive the so-called Web apps as cheap, poorly implemented, of little monetary value and probably not very useful. ChocolateChip-UI is an attempt to pull Web apps up out of that valley of revulsion by offering controls and interfaces that are much closer to the look and feel of native apps. This is not to trick the end user but to get past prejudices so that the user can judge the app on its own merits.
ChocolateChip-UI is not about providing some basic functionality with a me too cheap plastic look. It's about winning an Oscar, a Grammy, a Pulitzer and a Nobel Prize. It's about looking outstanding and being first of class, like a crisp tuxedo or that gown that sparkles in the eyes of onlookers. It's about being as sleek and polished and as pleasurable to use as iOS itself. ChocolateChip-UI is not just great looking, it's unique in that the interfaces it creates are in high definition and are infinitely scalable.
Peekaboo, I See You.
You can get hold of me through the "Drop Me a Line" link on the right. I'm one guy holding down a day job and working on this project on my spare time late at night (and yes I drink a lot of coffee and still manage to to fall sound a sleep when it's time). As such, I would greatly appreciate any help you'd like to offer in pushing this framework forward. If you find a bug and figure out a fix, please contact me so I can include it in the main source. Or if you'd like to help by adding new features, or themes, or any thing else, let me know.
Offerings To The Goddess Of Chocolate.
Special thanks to Puja Soto, a dear friend and colleague. Inspired by her love for chocolate and appreciation for ChocolateChip-UI, she created this site's scrumptious design. She also created the SVG images for resolution independent icons in ChocolateChip-UI.