Presenting my latest project, SoulTrade

As you might have guessed, I’ve been working on another app these past few weeks. This represents only 2 weeks of work, so overall I’m okay with how it turned out. Without further ado, I present:
SoulTrade (soultra.de)
(available for iOS and Android!)

What is SoulTrade? It’s a market for buying and selling souls, basically. Yeah I know, it’s a pretty stupid idea, but I mostly just wanted to flex my design and development muscles with some of my free time. I really didn’t care what the website did, as long as I got to use PHP/MySQL/jQuery/Javascript/HTML5/CSS3. So ironically, this project really has no soul, heh.

Technical details: SoulTrade was written by me in 2-3 weeks with a PHP/MySQL back end using my own framework. The front end was designed by me in Photoshop and Dreamweaver, and of course utilizes HTML5/CSS3/Javascript/jQuery. The website is running on a LAMP stack, while the mobile version is using jQuery Mobile and Phonegap.

Enjoy.

…mwahahaha….

Behold: Pac-Man

Specs: ASUS M5A97 AM3+ USB3 mobo, AMD Vishera 4.2GHz (OC) octo core, 16GB DDR3 1600, Radeon HD 7970 3GB 384-bit GDDR5, 128GB SSD, 15x Blu-ray Burner, 750w midtower, 1080p 22″ triple monitor, Windows 7 Pro 64bit

This marks my triumphant return to ASUS and AMD. Staying with my home network’s recent nomenclature (networks, servers, and devices being named after Pac-Man characters), this is the birth of Pac-Man. I have retired my old 2.7GHz i7 quad core to a certain someone, where it will be a welcome replacement for her Mac Mini. It shall henceforth be dubbed Ms. Pac-Man. I’ll let her have this new video card after it becomes unsuitable for Bitcoin mining (which should be any month now). I’m not finished with it yet, either… the next purchase will probably be an external RAID (4TB Blinky is running out of space, and Inky died awhile back). Other future purchases might include a more elaborate tower, card reader, additional USB, an additional 16GB of RAM, etc. but this is more than enough for now. After I finally got everything hooked up and troubleshooted (took me more time than I’d like to admit to find out the CPU power wasn’t plugged into the motherboard), I pretty much immediately set it out to mine for BTC with the 7970, so that maybe the card will pay for itself assuming the market doesn’t crash for another few months. The thing sounds like a jet engine when it’s mining, and the LEDs turn my room bright blue at night, but that’s the price you pay for being awesome.

What I’m glad I did:

  • Went with ASUS and AMD… the price on the 8 core was fantastic. This should last me a good many years.
  • Not maxing out the RAM quite yet. When I need it, it’ll be cheaper.
  • Splurging on the 7970. This is the first time I’ve bought a real video card, and since I don’t play games much, it was hard to justify the $400, but I’m somewhat confident I can make the money back with the high hashrate.
  • Didn’t upgrade to Windows 8.

What I would have done different next time:

  • The LED fans look cool, but they’re silly and annoying mostly.
  • I severely cheaped out on the case. Like, only paid $30 cheap. It’s a good case for the price, for sure, but it’s a bit flimsy and lacks USB 3 in the front.
  • With half the space on the SSD gone already, I’m wondering if I should have gone for a 256GB. Ah well. Once I buy an external RAID, that will take care of the big files.
  • I underestimated how difficult it is to keep a 7970 cool. Three fans doesn’t really appear to be enough. I’ll add more, and I might even have to liquid cool the card.
  • I also underestimated the power requirements; if I end up wanting to add a second 7970, I’ll have to swap out the 750W PSU with a 1100W.

It’d been three years since I’d built a computer for myself, so this was an interesting re-learning exercise.

Banned from the App Store!

So Apple called me to personally reject my newest app.

Not surprisingly, they don’t believe my app is really doing anything. In a way, they’re right, I guess. Basically, what the app does, is it matches people who want to buy human souls, with people who want to sell them. People pay money for human souls, that’s what it does, but it also doesn’t involve any sort of tangible transaction, and Apple’s problem is they don’t want users involved with metaphysical transactions. They also said souls don’t exist and they cannot be sold (how dare they say this to a Doctor of Metaphysics, haha). So there you have it; if you ever wondered if Apple believes in souls… no, they don’t.

You know, I’m not even going to rant about it… I’ve been doing way too much ranting these days. I guess I’m just disappointed that they disagree that the app does anything. I saw the rejection coming a mile away, I just didn’t know which part of the guidelines they were going to dig up to keep it from hitting the App Store. It took them 3 weeks to figure it out, heh. So no, I’m not going to get angry about it, because I find it way more amusing than anything else.

Unfortunately, I’m not sure there’s a way to go forward with this project without it getting rejected again. Either you believe the soul transaction is ocurring, or you don’t. Apple says if the business model changes they will accept the app, but I’m not really willing to do that. Therefore, I will no longer pursue publishing this project on the App Store. I may, however, attempt to create a bookmarkable web app to circumvent the App Store.

Look for a new app announcement within the coming days…

Review: D-Link Boxee TV

After one of my roommates left a few weeks ago, the rest of us found ourselves with no television or AppleTV. While it didn’t really break my heart (I never really did like AppleTV… yeah I know, what a surprise), I missed having over the air TV so I could get my weekend MeTV fix. Well, we had an unused 27″ CRT downstairs, but of course it was too old to have digital tuner on it, so I decided I needed a modern solution to this. My needs were an OTA tuner, apps, and streaming media. I couldn’t find something that did all three, but Boxee TV did OTA and apps, so I figured I’d give it a shot. The 2 star reviews on Amazon scared me, but I took a chance anyway, and I’m glad I did.

When I received the item, I realized right away I had previously ordered the wrong adapter for the TV (I needed HDMI to RCA, not RCA to HDMI), so in the meantime I used an HDMI to DVI adaptor and plugged it into my PC monitor. This worked, but obviously I didn’t get any sound that way. I also found that the cheap HDMI cable I bought from eBay didn’t work, but luckily the one I ordered from Boxee worked great. Once the correct adapter came, I was ready to start for real.

Hooking up Boxee to the TV was easy, but of course it involved the aforementioned adapter since the TV was analog. No big deal, the mini adapter I bought ran off USB power, so I was able to power it from one of Boxee’s USB ports in the back. Problem solved. For OTA setup (I didn’t attempt ClearQAM), I used the antenna that came with the Boxee, which I was skeptical about due to its look and size. As it turns out, it worked better than the old flat antenna we were using before. After signup (which was a pain because their website kept breaking in Opera), I was up and running in 10 minutes.

First thing I loved was how it organizes OTA content as if each channel were an app. This is awesome. It even has visual icons for all the shows, which it presumably grabs from an open database somewhere. It also lets you look through upcoming shows like a tv guide, and if you live in an area where they offer it (Atlanta is on the list, most everywhere else isn’t), you can use their cloud DVR service to record an unlimited amount of shows for $10 a month. I’m not really into the DVR thing, so I didn’t try out the service). I also tried the YouTube, TED, and WSJ Live apps, and they all worked great even on this flaky cable Internet here. I did not try Netflix since I don’t have an account.

The most immediate thing I noticed, and knew to look out for, were the bugs. Oh yes, it has bugs. Lots of them. In fact many people liken it to an early beta version. Personally, I haven’t noticed too many bugs, but I have had to reset it a handful of occasions, which doesn’t inspire confidence in using it for extended periods of time. But for me, a casual TV watcher, it works just fine.

A few days ago, Boxee finally pushed their new firmware update, and it’s a good thing they did, otherwise this would have given it a lower rating. This update has made a massive difference in Boxee’s stability and featureset. Gone are many of the bugs, and added is DNLA support for streaming files from your network or mobile device. I have yet to try out the DNLA, but this was the feature I was looking for originally, and now it has been added. So really, this makes it nearly the perfect solution for my needs.

Final thoughts
The Good: Unique featureset, good solution to revitalizing an analog TV, does more with OTA than anybody else, even your own TV, peripherals work great, DNLA support, interesting cloud DVR service, easy setup.
The Bad: Probably still some bugs and freezes left (though I haven’t noticed any since the upgrade), DVR not available in most areas and costs money, lack of app quantity (pales in comparison to, say, Roku), runs extremely hot, no volume control on remote, no direct network file access.

Overall, I give it 3.5/5 stars. If it weren’t for the update, it’d have 3/5. If this device sounds like it’ll fit your unique needs like it did for me, definitely give it some thought. If you don’t care about OTA or DVR, you may want a Roku instead.

Custom Accordion Snippet using jQuery

Whenever I’ve built my own accordion script in jQuery, it’s always had the same problem: when you click on the collapsible that’s already open, it closes itself, then immediately reopens. Looking for alternative accordion scripts, I’ve noticed everyone else’s seems to have the same problem, so I came up with a deliciously simple way to solve it.

First, a little background. The reason this is happening is completely logical and due to the synchronous nature of jQuery animation. The way most developers go about their accordions is to make sure all others are closed, then open the requested accordion. This method works great unless you want to be able to close an accordion. Without further ado, here’s the easy solution:

HTML:
<div>
<h2>First</h2>
<p>Content</p>
</div>
<div>
<h2>Second</h2>
<p>Content</p>
</div>

Javascript:
$(document).on('click', '.collapsible h2', function(evt){
$(this).addClass('clicked');
$('.collapsible h2:not(.clicked)').removeClass('selected').next().slideUp(500);
if($(this).hasClass('selected')){
$(this).removeClass('selected').next().slideUp(500);
} else {
$(this).addClass('selected').next().slideDown(500);
}
$('.collapsible h2').removeClass('clicked');
});

Easy, right? Embarrassingly so. But I didn’t see any good examples online, so here you are.

Update 4/10: Fixed a bug in the :not selection.

Where I Stand on Marriage

Churhes should be allowed to marry (or refuse to marry) the following:

  • women and men
  • men and men
  • women and women
  • any number of people
  • a human and his/her parent, sibling, or child
  • a human and an animal
  • a human and a Barbie doll
  • a human and a cartoon character
  • a human and Planet Jupiter
  • a human and a metaphysical idea
  • two animals
  • two nonexistant things
  • everything that has ever and will ever exist

Government should be allowed to marry (or refuse to marry) the following:

  • NOBODY

Governments should offer civil unions for the following:

  • any human beings of legal age and consent (defined by State law)
  • any number of partners deemed administratively feasible by State law
  • any domestic situation *especially* family members

Let religions have freedom. Keep the government out of marriage. Let the states figure out civil unions. Many countries do it this way… why is this so difficult for us?

Why I won’t buy Windows 8

This won’t really be anything you haven’t heard already, but I feel like I really need to voice these concerns.

I know I don’t speak for every UX designer out there, but there seem to be a lot of troubling aspects of the Metro UI that I’m having a hard time justifying. Notably, eyeflow. When tiles are laid out in a linear fashion, the eyeflow is simple. Left to right, top to bottom. That’s what we do in Western Civilization; it comes natural. But when you have small-sized icons, medium size, large size, double-wide, etc. as tiles, your brain can no longer read in a linear fashion. It sees the big one first. Then maybe the medium or doublewides. Then the small icons. What order do you see them in? Who knows. Maybe the colorful ones–but wait, they’re all colorful. Your brain will fight with your eyes over what should be seen first, which creates a stressful experience for the user.

So then the question becomes, what was Microsoft trying to accomplish in order to improve upon the system that was already in place? Good question… I’m still trying to figure that out. Some icons are big. Some are small. I can see that maybe you’d want the most used icons to be big, but does it really matter that much? Or at all? Does it make sense for one icon to take up the same real estate of 8 others? So then, the colors. Great, color coding. I assume that blue could mean web, orange could be productivity, green for games? Nope. It’s entirely random, apparently. So then what is the point of having candy colored buttons strewn all over the place in various shapes, sizes, and colors? I’m just not following it.

The other issue I have is with their obvious end goal, which is merging the user experience across phones, tablets, and desktops. It seems like it would be a worthy endeavor, and perhaps it can be done, but that doesn’t mean that Windows 8 is doing it right.

Let’s take my personal use cases. On my smartphone is Android 2.3. It has a desktop. With same-sized icons. It has a drag-down bar with a list of recent programs and notifications (the equivalent to a taskbar and icon tray). It has a button at the bottom that slides out a list of applications (you know, a “start menu”). I’m able to do everything I need to do, using this system. At home I have Windows 7. It has a desktop, same-sized icons, a taskbar, and a start menu. The experience is virtually identical, besides the lack of notification list and a different approach to multitasking–but that’s okay, it makes some sense that I would have different needs on a desktop versus smartphone. But in the case of Windows 8, it seems to want to force a unified “jack of all trades and master of none” experience across all devices. No device has just icons. No device has a start menu. All implementations are based on utilization of touch. On a desktop, this is especially silly. Who’s gonna sit there with their arms in the air to use Excel, Word, and Visual Studio? Who needs the calculator taking up their entire 22 inch monitor? And to top it all off, providing both a Metro mode and classic mode to create an utterly segregated, confusing mess of an experience.

It appears to me that Microsoft went the same route as iOS in the reimagining of Windows (the dreaded “let’s just do what Apple is doing and call it innovation” move in Silicon Valley). iOS also has merged the start menu into the desktop, for instance. I would imagine the reasoning behind this was for simplicity’s sake, and lack of screen real estate. For the record, I disagree with the decision. A desktop should be for human-organized shortcuts and unfiled folders and documents. A start menu should be your entirety of installed applications. It seems like Microsoft is trying to copy this idea, the idea being, why have both when you can merge the two? Because it creates a mess, that’s why.

I remember when Windows 1-3 was using windows of grouped icons (that’s why they called it “Windows”) on the desktop instead of filing them in a start menu or just having the commonly-used desktop icons. When I was a kid and Windows 95 came out, I was upset at first, but then I realized I didn’t use most of those icons, so they didn’t need to be taking up my desktop all the time. Apparently, Microsoft has done a complete 180 and decided to pile everything back on the desktop again, so what was 20 years old is new again. Now my beloved desktop experience is gone, and instead I’m being forced to use a tablet experience. Instead of a few icons on a clean desktop, I have every program I own and barely use, mixed with live gaming icons I don’t use, next to a web browser I don’t use, with social networking tiles that are completely useless, and other garbage I just plain don’t use. It doesn’t take a genius to realize that banking your flagship product on popular smartphone and tablet interfaces is going to turn out to be a huge mistake. The quicker Microsoft admits this, the quicker they can get back to selling Windows again.

60 things I’m ashamed to admit, and other unfascinating facts

  • Although I see the icons 1000 times a day, I have no clue what Delicious and StumbleUpon are, and I’m fairly confident nobody actually uses them.
  • I don’t own a flat screen TV. If I ever watch TV (hardly ever), it’s usually on a 13 inch CRT.
  • I have been known to put olives and french dressing on caesar salads.
  • I have owned the same Android phone for over 2 years, and have built more apps than I’ve installed. There are very few apps I feel like I need.
  • I have never owned any vehicle other than Nissan trucks.
  • My dream car is a 1983 Datsun 280ZX. Well, besides a DeLorean of course.
  • I got to level 25 in QBASIC Nibbles once. It was on a 386, but I still think it oughta count.
  • This is the first time in my life I’ve ever had roommates. I have four of them.
  • I have no clue how to change the oil in a car. Actually, I’m not sure I could identify much of anything under the hood of a car.
  • Two rooms of my house are taken up by 22 arcade games and a pinball machine. They’re for looking at, not playing.
  • I like Corona and Hawaiian shirts more than anyone ever should. Hey, I’m a Floridian.
  • I don’t really play video games anymore. The last console I ever bought was a Nintendo 64.
  • I’m not sure I remember how to write cursive or read an analog clock. I haven’t had to since third grade.
  • I’ve used Windows since 3.1. I have skipped upgrading to the following: Windows ME, Windows Vista, and Windows 8.
  • I’ve never used Netflix, Hulu, or Redbox in my life.
  • Twitter is useless to me. I’m not sure I could tell you what I ate for lunch in under 140 characters.
  • I’m a designer and I hate MacOS.
  • I don’t own a DVD or Blu-Ray player, besides the ROM drives on my PC. I own 4 VCRs for some reason.
  • I have twice as many LinkedIn friends as Facebook friends.
  • I have never seen the following movies: Titanic, Avatar, The Lord of the Rings trilogy, Star Wars 1-3, Citizen Kane, Casablanca.
  • In high school, I was pretty well-behaved. I had my first beer at 22.
  • I recently considered buying a MacBook Pro. But I didn’t.
  • I share the same birthday as Mark Zuckerberg (May 14th, 1984).
  • I’ve been an eBay member since 04/25/1999.
  • I’ve never seen a single episode of American Idol. The only way I learn their names, is when I ask people how that awful singer on the radio got signed.
  • There were times in my life when I spent entire weekends drinking Mountain Dew Code Red and playing Goldeneye.
  • I am mentally incapable of using a Dualshock to control a FPS. I think it’s to do with being left-handed.
  • I don’t always wait for a pot to boil before dropping in the pasta. I’m convinced it makes no difference.
  • I’ve been creating t-shirt art for clients nonstop since 2005.
  • Sorry, but I didn’t like Inception. It dragged on too long, the plot holes were too large, and the backstory was lame.
  • I’m still using a ball mouse, apparently. Not because I hate laser mice or anything, but because I haven’t needed to replace it.
  • I don’t think Adobe Illustrator is a very intuitive program.
  • I think Digimarc and Shazam are witchcraft.
  • It’s really difficult to get me angry. Xcode manages to do it consistently though.
  • I was a liberal in high school. In college, I had a libertarian polysci professor that changed my life.
  • I’ve never seen an episode of Lost, 24, or House, but I have seen every episode of Twin Peaks.
  • I like the Japanese pop band, Perfume. I have no idea why.
  • My favorite movies are UHF, Spaceballs, and Gentlemen Broncos (look it up). I guess you could say I like lame comedies.
  • I spent the night in my truck on Christmas Day last year. Long story.
  • At some point last decade, I had every episode of The Simpsons downloaded nothing but KaZaA, Gnutella, Usenet, and IRC.
  • Besides spam, I never delete email. My Thunderbird inbox goes back into the late ’90s.
  • I’d rather have wires on my mouse and keyboard than spend money replacing batteries.
  • I caught a fish with my bare hands once when I was little.
  • I own a massive amount of vinyl. Not sure why, when there are 600gb of MP3s.
  • I have an extensive collection of classic handheld consoles. And their official carrying cases.
  • Most sentences I write are statistically likely to start with “I”. I wonder what Freud would think.
  • I once read Fast Food Nation. It took 3 years for me to eat McDonald’s again.
  • I’m not sure I could survive without Stack Overflow.
  • I’ve been a lurker on FARK.com for 12 years, and never once posted or submitted anything there.
  • On my IBM Thinkpad I’ve had since middle school, I’m on day 5,828 of my 30 day trial of Paint Shop Pro 4.
  • I have never beaten the original Super Mario Bros. Got all the way to Bowser though.
  • I wrote a couple of ASP Classic pages last year, for the first time in years. It was all the client’s server supported.
  • Thanks to Trillian, I’m still running AIM, ICQ, YIM, and MSN messengers.
  • I accidentally used mid-grade gasoline once.
  • I never had a Myspace. I have had my Facebook account since 2005, back when it used to be cool.
  • My favorite non-casual video games ever are Super Metroid, Ocarina of Time, Goldeneye 007, Half-Life 2, Metal Slug, and I Have No Mouth and I Must Scream.
  • I’ve never once bought anything from Amazon.com.
  • I am allergic to nothing, and never get sick. …Not entirely true, but basically.
  • I’ve had the same eyeglasses since 2002. That would make them over 10 years old. Perhaps I should buy new ones.
  • I hate computers.

A Beginner’s Guide to Publishing on iOS and Android

Submitting apps to Google Play

  • Pay the $25 one-time fee.
  • Sign APK with your keystore.
  • Upload the APK.
  • Upload screenshots and metadata.
  • Hit publish.

Total time: 5 minutes.

Submitting an App to the App Store

  • Pay $99 a year.
  • Wait for Apple to dig through your articles of incorporation, then approve your membership.
  • Apple tries to call your corporate attorney at 7:30 PM on a Friday and can’t figure out why he’s not answering.
  • Apple ignores your emails asking them to call you back. Restart process.
  • Obtain an intermediate certificate. Install into Keychain.
  • Whitelist any devices you’ll be using to test with.
  • Create development and distribution provisioning profiles for your app and system.
  • Generate your certificate. Load everything into Keychain.
  • Find out you need the newest MacOS that just came out last week in order to compile.
  • Re-download the whole 5gb Xcode. Find out that there is now no backward compatibility with older iOS.
  • Link up certificates to your Xcode project.
  • Certificates don’t work for some inexplicable reason. Apple doesn’t know why. Revoke all certificates and go back to step 5.
  • Spend two days trying to figure out a half dozen unhelpful error messages in Xcode, in-between bugs, freezes, crashes, and file corruption.
  • Upload your icons and screenshots in dozens of sizes, including a 57×57 and 58×58 icon (WTF, seriously?).
  • Compile for Release and pray the certificate works.
  • Log into iTunes Connect and upload your screenshots (in 3 different sizes) and metadata. Mark it as ready for binary.
  • Download Application Loader and open. Don’t use open or create package, they don’t do what you think they do.
  • Navigate to ~/Library/Developer/Xcode/DerivedData and try to figure out which folder is your latest release compile.
  • Upload to Apple. If it rejects your certificate, even though it worked fine on your device, go back to step 5.
  • Now that you painstakingly rebuilt your certificates, you find out the release cert won’t run on your device. Ironically, Application Loader accepts it this time.
  • Wait anywhere from 1-3 weeks for Apple to review your app.
  • Your app will likely get rejected. They’ll give an oddly-worded explanation why, leaving you to guess what they want you to fix.
  • Have fun in Xcode. Go back to step 12.
  • Congratulations, your app has been accepted. Grab a bottle of scotch, relax, and watch the nickels come rolling in.

Total time: 3 weeks.

I guess this should be a great hint of what I’m working on right now.

My Very Own Wall of Shame

I got to thinking today about all the trends I’ve shamefully exploited in my years as a designer. It’s not that I was trying to be trendy (actually I’ve never been into following trends), but that in the real world, you have to be competitive with other websites, and your clients often want to be trendy. When you look back through the years, it’s pretty amusing. Ladies and gentlemen, may I present to you (yet another) nostalgic blog post that nobody will find interesting.

Notepad & Netscape Era (RIP 1994-1997)
During this time, nobody really built websites in Photoshop. Typically, you built the website first using Notepad, then spread around some graphics you made in Paint Shop Pro regardless of how well they fit together. Perl, or at least CGI, was pretty much your only backend option, and servers weren’t fast enough to run every page of your site like that. Javascript was around, but wasn’t very compatible in IE, there was no DOM, and so it didn’t really do much. Frames were extremely popular.
As far as design, there really wasn’t much to speak of. Graphics were mostly an afterthought, as images, backgrounds, and fonts had just been introduced to HTML. Usually there was a heavily-compressed banner, a tiled background, an “email me” icon, and would be it. Comic Sans and Arial were the only alternatives to Times and Courier (and we liked it!).

Tables & Photoshop Slicing Era (RIP 1998-2001)
At this point, Photoshop was becoming the standard for web mockups. However, due to limitations of CSS1, we would slice up the images in Photoshop, then export them directly as tables. As far as I know, you can still do this in Photoshop, but nobody is dumb enough to do that anymore. The problem with tables, of course, was that it was a nightmare for semantics, and they were a little tricky to edit directly. Also, there was very little you could override with CSS.
During this time, the dark “cyberpunk” look was huge. Backgrounds were almost always black with white or neon text. It was also popular to use Japanese text for no reason at all, both as the cyberpunk look and because anime was at its peak of popularity. In this era, we found ourselves spending more time editing the website in Photoshop than actually using the HTML. WYSIWYG editors were also popular at the time, but they all quietly went the way of the dinosaur.

Flash Era (RIP 2002-2005)
Also known endearingly as the “Web 1.5” Era. Flash had been around before this, but it really started taking over around this time, stemming from cross-browser frustrations and a desire for interactivity that Javascript, at the time, was incapable of. Flash moved on from splash screens and menus to running entire websites. This of course was bad SEO, but nobody cared. We all spent our time in online arcades playing Flash games. Video was finally working on the web using Flash.
Throughout these years, the designs were typically flat-shaded, abstract Illustrator creations (like what you’d see on a hipster t-shirt), as well as Photoshop manipulated people and landscapes. It was common to see art that was complicated and “overprocessed”-looking.

Web 2.0 Era (RIP 2006-2009)
Although Flash was still being used sporadically, this was the first real coming-of-age for web design. Javascript frameworks started becoming more prevalent. IE5.5 was dead and CSS2 was now much easier to utilize. Table layouts were officially dead. XHTML was the new standard, and AJAX was the new way of hooking into the backend. Tons of new backend languages were being introduced. The iPhone introduced a new way of thinking about mobile websites. The headset hottie was behind every corner.
Because most of the designs in this era were running in CMS’s now, and CSS2 still didn’t enjoy 100% support, websites were incredibly clean and simple. Backgrounds were always white, and the glossy glassy gradient look was popular to say the least. Also, nearly every website was a wholesale ripoff of Apple’s. Flash started dying out during this time due to many factors, the biggest factor being it was not allowed on Apple devices, so it was no longer the silver bullet for animation it once was.

Framework Era (RIP 2010-)
During this time, designers were growing impatient with HTML5’s slow adoption, and decided to take matters into their own hands. In order to get HTML5 working in all browsers, however, it required your Javascript framework of choice and polyfills such as HTML5Shiv or Modernizr. Also during this time is the adoption of CSS fonts, CSS preprocessors, CSS grid frameworks, which led to the popularity of boilerplate templates such as Twitter Bootstrap to ease the installation and integration of all these crazy add-ons.
Designs that dominate in this era are the handmade/indie movie poster look, cut paper look, and stitched leather look. Which is ironic considering the frameworks are now doing much of what used to be done “by hand”.

Predictions
Since these trends all seem to come in 4 year blocks, I predict 2013 will continue in the Framework Era, keeping the same indie look with handmade sketches and shiny happy animals all over the place. Trends such as the “massive wall of text” and “giant photograph” look will continue to get popular. In 2014, I expect to see a new era in which canvas, SVG, and retina graphics up the ante, and some library may come around to tightly integrate Javascript on the front and back, allowing a much more application-like experience, like where we left off during the Flex days.