Tomomi Imura

Tomomi Imura

An Open Web advocate and front-end engineer, who loves everything mobile, and writes about HTML5, CSS, JS, UX, tech events, gadgets, etc. She unintentionally got 15min of fame by creating The HTTP Status Cats. Also, the opinions expressed here are solely her own and do not express the views or opinions of my employer.

Twitter LinkedIn Instagram Github Flickr

Creative Commons License
My articles are licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

Articles Archive

2021

Doodles from Microsoft Beginners Series

My sketchnotes from Web Dev for Beginners and ML for Beginners by Microsoft

Support Web Monetization and HODL! — How to receive micropayment in $BTC (or $Ɖoge) on your website

Web Monetization is a web platform API that allows websites to request micropayments from users facilitated by the browser

2020

Spread Syntax "Three-dots" Tricks You Can Use Now

Want to consume more syntactic sugar to energize your code? I'll share 6 tricks with the spread syntax that you can use now!

2019

Reiwa - JavaScript International Date Format and Japan's New Imperial Era

The reign of the next emperor in Japan means you need to know about JavaScript international date and time format!

2017

Notes from Presenting Data & Information course by Edward Tufte

My sketchnotes from Presenting Data & Information course by Edward Tufte about fundamental design strategies for information displays

Notes from The State of Web Platform

My sketchnotes from The state of Chrome and the Web Platform by Ben Galbraith and Dion Almaer at Chrome Dev Summit

GIT PURR! Git Commands Explained with Cats!

git purr, git meowge, and git puss! My doodling on basic git commands, and difference between merge and rebase with cats!

Filterous 2 Photo Manipulation Library is Released!

an open-source Instagram-like image manipulation library for Javascript and node.js

Creating a Simple Facebook Messenger AI Bot with API.ai in Node.js

My tutorial on how to build a Facebook Messenger bot

2016

Creating a Slack Command Bot from Scratch with Node.js & Distribute It

My tutorial on how to build a Slack slash command and Slack OAuth

Developer Experience Matters

A summary of my talk I gave at DevRel Summit in Seattle

Arduino with Johnny-Five 101 - Video Tutorial

Since I started talking about hardware hacking with JavaScript at events and conferences, I have been constantly aske...

Upgrading KittyCam with Raspberry Pi 3

I was excited when Raspberry Pi 3 came out earlier this year. According to raspberrypi.org, this 3rd generation Pi ha...

2015

KittyCam - Building a Raspberry Pi Camera with Cat Face Detection in Node.js

Ho, ho, ho! This is an overdue blog post for the project I’ve worked on during summer!Last August, I created this Ras...

Hey, I am on The New Screen Savers Show!

OMG, I was live on The New Screen Savers Show hosted by Leo Leporte last Saturday! If you have watched this show in 9...

Hardware Hacking for JavaScript Peeps- How I Got My Hands on Breadboards and Resistors

I totally have neglected girliemac.com. I don’t even remember when the last time I blogged for my own website, since ...

2014

Doodle with Strangers! Multi-User HTML5 Canvas with PubNub API

Note: I originally wrote this article for PubNub Blog, but I am re-posting it with a bit more personal touches here a...

Responsive Web Made Easier with Chrome DevTools Device Mode

Note: I originally wrote this article for HTML5Experts.jp in Japanese, as a part of their Google I/O special editions...

IndexedDB is finally something

“Woo-hoo, finally!!!” (I should stop being grumpy!)This was the first reaction I had when I heard the new on Twitter ...

Web Notifications Update

Two years ago, I wrote a demo and blogged about then-Chrome-only HTML5 notifications. A while ago, like, 8 Chrome ver...

Filtrous.js Photo Manipulation Library

Filtrous.js is a photo manipulation library in JavaScript that applies filters to photos à la Instagram on browser.I ...

Vibration API Use Case: Form Validation

Vibration API Last CallThe Device API Working Group has published a third Last Call working draft of the Vibration AP...

Responsive UI with Luminosity Level

Happy new year!I wonder how the year 2014 will be in terms of the web standards and HTML5, as the first biggest news ...

2013

How-to: Migrating Blog from WordPress to Jekyll, and Host on Github

Last year during holidays, I knitted a NyanCat scarf. As this year’s project, I finally migrated my Wordpress blog to...

Fluid Layout Neue – Responsive Layout with CSS3 Awesomeness

Responsive Web Design has been a hot topic in past years yet I hardly cover in my blog. So here, I am focusing some o...

More Blah Blah on Legacy Clients

Last week in New York City, I could feel the beginning of autumn. I was fortunate to be on stage at with amazing peop...

W3C Events in Tokyo – Lost in Translation, Not!

Soon after coming back from sunny Florida for JS Conf, I flew to Tokyo for two public events by W3C, Test The Web For...

JS Conf US Slide – JS APIs for Hardware Access

I don’t usually consider myself as a jetsetter, however, the past months of May and June had been crazy – I went to A...

Touchy-Feely with DOM Events: Rethinking Cross-Device User Interaction

This article was originally written for Nokia Code Blog on the earlier this month, and I am re-posting it here with a...

My Mobile HTML5 Talks Slides

I have been really busy, in an awesome way-I have been working on a project called Coremob Camera, as a side project ...

How to Enable WP8 Emulator on Mac

It appears to be that many Mac users, including myself, has had some trouble setting up Windows Phone SDK and run an ...

2012

HTML5 Form Validation のカスタマイズ

Note: This article is written in Japanese for HTML5 Advent Calendar 2012. If you’d like to read this article in Engli...

Creating A Custom HTML5 Form Validation

Note: The article was originally written for Nokia Code Blog, with helps from Fred Patton (editor) and Andrea Trasatt...

HTML5 Dev Conf Slides

I forgot to post the slides from my talk at HTML5 Dev Conf in San Francisco on October 15 and 16.There were so many g...

HTML5 File API & XHR2 with Node.js Express

Note: This article is written in Japanese for 東京Node学園祭2012. I may or may not re-post this in English later only when...

Because I Want Mobile Web to Be A Better Platform

It has been 4.5 months since I came back to Nokia (If you don’t know, I used to be working for the ill-fated Nokia N-...

Resolution in Media Queries

I realized I hardly blog about mobile web development, although I do tweet about mobile quite often! (If you have not...

HTML5: The Mobile Approach

It was great to be invited to speak at Innovators of the Web Conference at Adobe San Francisco on July 21.My talk was...

Creating Non-disruptive Notifications with HTML5

Update: The API I used for this article has been deprecated by W3C, and the example code no longer works on the lates...

Making Chupa-Chups using CSS3 Pseudo-elements

One of the biggest reasons why I don’t blog often is probably because I tweet a lot. Just write a few words and throw...

2011

Quick Fun: CSS3 Filter Effects

I quickly played with the brand-new CSS Filter Effects on the latest WebKit Nightly! (Edited: Now also supported on C...

The Day I seized The InterWeb – HTTP Status Cats

I thought my biggest achievement of 2011 was the (un)successful launch of HP TouchPad, and the European tour to adv...

HTML5 Form Field Validation with CSS3

HTML5 Built-in Form ValidationHTML5 specifications come with a full of goodness that make web developer’s lives easie...

HTML5 Input Event Handlers and User-Experience

TL;DRSummary: Use oninput event handler (or input event handler event type) when you register an event to the HTML5 i...

Creating Usable Enyo UI – Buttons and Interactive Dialogs

Note: it looks like the images have been removed in the original article on palm.com :-(I wrote this article, Creatin...

Thank you, Steve!

This is my arbitrary writing about myself & Mac.As a die-hard Apple Fan-girl, I started my very first web site in...

Five CSS tricks used in Enyo JS Framework, and you can try them too!

Since I have joined Palm (now HP), I don’t blog frequently because working for the webOS have kept me super busy. Esp...

Open Web Camp III

I had this wonderful opportunity to speak at OpenWebCamp III at Stanford University on this weekend, and I feel very ...

Quick Demo: CSS3 Fancy Avatar

Now I started using jsfiddle for code snippets so I can show the code AND the actual results on browsers..avatar { ...

So it’s not a secret anymore -HP TouchPad

So, this is what has been keeping me busy (not blogging) these days. Announcing HP TouchPad! I have been working as a...

2010

Happy National Cupcake Day! – Free Mac Icons

So download my cupcake icons for Mac!Believe or not, it’s been over 0.6 MacOS years (equivalent to 9 human years, may...

Quick Demo: Webkit CSS3 Mask with SVG

I haven’t got a chance to create the apps and demos I’ve been thinking because my day job at Palm has kept me really ...

Google Docs Palm Pre Stencil

A few month ago, after I was saw the impressive web wireframes templates and iPhone stencil created with Google Docs ...

Simulating MacOS Dock-like menu with CSS3

Since my original “CSS Aqua button” written last year, I have seen more and more fan CSS3 UI mimic of MacOS component...

CSS3 Box-Shadow with Inset Values – The Aqua Button ReReVisited!

This is my third article on CSS3 No Image Aqua Buttons. The previous articles include: CSS3 Gradients: No Image Aqua...

CSS3 Aqua Button – Revisited for Firefox 3.6

This is an update for the Aqua button tutorial. This update will add a support for Firefox 3.6. If you haven’t seen t...

2009

I Can Has iPhone App on App Store

Finally, I have my app, called iCanHasLOL published on App Store!Actually the app was reviewed within 24 hours by App...

Hello, Palm! I am back to Sunnyvale!

Since the last CES announcement, I have been pretty excited to learn about Palm’s WebOS, been to the meetup and DevCa...

iPhone Cocoa App development with JavaScript

Hello, I have neglected my blog since September although there have been some blog-worthy events like N900 meetup (pl...

Classification of Mobile Browsers

Today, I am not going to post some CSS3 tricks on Webkit, or stuff like that. Instead, I post a list mobile browsers,...

Webkit CSS 3D + Local DB Demo

Ever since I heard of Snow Loepard’s hardware-accelerated CSS, I wanted try some cool CSS animation for Safari 4.So a...

PREtty Cute Suite -Another Cute app for Pre from me!

Can’t have enough cute!Instead of upgrading my previous app, iCuteOverload for Palm, I have created this power-up ver...

My First WebOS App – iCuteOverload for Palm v1.0

As a front-end web developer, also a mobile-web developer, the Palm’s new WebOS SDK for Pre sounds very attractive, a...

iPhone App – MuniApp for San Francisco Muni riders!

Ta-da, finally there’s an app for that! – I mean an iPhone native app that I involved is available on App Store! Th...

Finally, the official Mojo SDK for all!

After I was rejected for the early access then struggled with the “leaked” version of Palm Mojo SDK without a documen...

Find Your Tweeting Neighbor on iPhone with GeoLocation

iPhone OS 3.0 is now available, and developers can take advantage of the newly introduced geolocation feature in Safa...

TweetTrendDunno – Played with APIs

I had a plenty of time to stay home and play with code right now so I mashed Twitter trend API, mixed with some BOSS ...

Mobile Safari for iPhone 3 includes Geolocation

Although W3C’s document, The Geolocation API Specification is still in draft state and not yet finalized, major brows...

Matrix Animation with WebKit CSS3

I tweaked the WebKit CSS3 Animation example I made last time to create this “Matrix” animation for fun.This is the sc...

CSS3 Gradients: No Image Aqua Button

Note (Jan 28, 2010): I added a Firefox support to this tutorial. Please visit the “revisited” article t...

QuirksMode on Mobile!

One of the recent awesome news for mobile web developer is that “the browser guy” Peter-Paul Koch, known as PPK of &l...

Developing Applications for Palm webOS

The Developing Applications for webOS webcast is now available from O’Reilly.Mitch Allen, Palm’s Software CTO, gives ...

Using Keyframes – WebKit CSS Animation Examples

Now WebKit supports explicit CSS animations! After seeing the new animation examples posted on WebKit.org, I needed t...

Tried Fennec Milestone Release for Windows Mobile

Last week, Mozilla has released the early version of Firefox Mobile, “Fennec” for Windows Mobile (pre-alpha).Just lik...

WebKit Comparison on CSS3

Bitstream has launched a new mobile browser called Bolt, which is a J2ME browser and use WebKit as a rendering engine...

Palm Got its Mojo

Happy new year, and happy new government, America!I am still recovering from flu I got while visiting freezing New Yo...

2008

Meet Fennec, a little brother of Firefox

Here comes Fennec!!! (Release note)It’s been a whole year since Firefox first announced that they were developing for...

My LOLCats Week Ends with Capshuning

Eric Nakagawa and Kari Unebasami, co-founders of I Can Has Cheezburger were in Bay Area from Hawaii to meet with Lolc...

5000 Calories iPhone for Sweet Tooth

Gotta have this picture of iPhone cupcakes here! Can’t resist.These cupcakes by Nick Bilton and Danielle Bilton, took...

Tokidoki for Yahoo!

Yay! As a part of “Start Wearing Purple” campaign, Simone Legno has designed the purple Sandy T-shirt for Yahoo! (Ye...

oneConnect Announcement at CTIA (and 49ers)

My big boss, Marco took to the keynote stage at CTIA at Moscone West today, to announce a few things including Bluepr...

Another WebKit browser – Chrome by Google

So Google has just released Chrome browser, which Mac user still have to wait for its Mac release. I tried to install...

Hug a developer

I hear ya. I feel the pain. Really.</embed>In my case, I was working crazy for CES (deadline = Jan. 7, 08) sinc...

Google announced API for LBS on Mobile

Google launched the Gears Geolocation API for mobile on last week on their official Goolge code blog, and Mobile Blog...

More Update on CSS Animation

OK, so now I am trying to clarify how to make the css animation works using class name swap.The conclusion is that it...

Update: WebKit CSS Animation

Regarding to the bug on CSS animation I mentioned on last blog entry, I got a reply from an Apple developer (Quick!)T...

WebKit CSS Animation Examples

According to WebKit.org, the WebKit supports the simplest kind of animation called a transition.Transitions are speci...

iPhone Official Portal is Yahoo! … in Japan

Well, this is because Yahoo! Japan is owned by Softbank. This would never happen for the US market :-pI wasn’t invol...

iJesus 2

The cult leader Steve Jobs unveiled new iPhone 3G at WWDC.The main highlights of the new Jesus phone are: Faster 3G ...

Product (RED) for iPhone 2?

OK, I’ve got my (RED) iPod, and now Apple is going ship it for the next-gen iPhone?Although not sure about the credib...

Y!Go Can Has Cheezburger?

Last time I made CuteOverload into Apple iPhone WebApp, “<a href=”http://www.apple.com/webapps/entertainment/icute...

Dev.mobi Event at Palo Alto

 Today, I had a chance to attend dev.mobi developers’ session at Palo Alto.I am actually a user of their web tools an...

$5 a Gallon? Take Public Transits

maps.google.com/bayareaI saw this Google ad on the MUNI bus I take for commuting (yes. I take a MUNI and company shut...

Couture Phone from Chiristian Dior

There were Versace by Nokia, Dolce & Gabbana by Motorola, Prada by LG etc. And now Dior will have its own luxury ...

Opera Lanches Widget SDK

Today, Opera launched Widget SDK, enabling web developers to deploy web apps on desktop, TV and mobile devices. Unlik...

WTF!!!

I have lost all the past blog entries…The web hosting company went out of business, and left all customers in...

iPhone Case by Juicy Couture

OK, I am a sucker for Juicy Couture and I even own <a href=”http://www.barbiecollector.com/showcase/product.aspx?i...

Boring Friday night activity – fixed UI glitch on iCO

I’ve been sick and still recovering from.Anyway, my iPhone WebApp, iCuteOverload became look uglier after a few firmw...

OMG, Hello Kitty Mobile Phone Portable Charger!!!

OMG, OMG, OMG!!! A Hello Kitty mobile phone charger!!!The Charger comes with cables that compatible with Nokia, Motor...

iPhone SDK is Out

Apple’s official iPhone Dev Center page is updated, and there’s a link for the newly announcedSDK. Time to learn Coco...

Mobile Firefox UI

I just noticed the 2nd proposal for Mobile Firefox UI was posted, (dated Feb.8).This screenshot is for touch-screens,...

have been busy (again) for MWC

OK, I guess 3GSM is an old name, now it’s called Mobile World Congress.Anyway, although it’s been pretty crazy and sa...

Adding a WebClip Bookmark Icon for iPhone and iPod

While MacWorld is held here in San Francisco, I am commuting to Sunnyvale… At least I am trying to catch up with all ...

Sweet! Y!Go Web Made News in Japan too

自分がコアメンバーの一員として制作したプロダクトが日本のニュースでも紹介されているなんてちょっと嬉しいかも。Anyway, it’s pretty sweet that I can show what I’ve been workin...

Yahoo! Mobile Beta finally launched so we can sleep.

We finally launched Yahoo! Mobile Web beta (http://beta.m.yahoo.com) for limited high-end devices including iPhone, N...

Live from CES in Vegas…. not!

canceled my flight for Vegas, working my @ss off here in Sunnyvale…The official launch for the new Y! Mobile web beta...

2007

Android Uses WebKit

My guess was wrong.I somehow thought Google will partner with Firefox as a defaul browser for their new mobile projec...

Opera Mini Out of Beta

Looks like Opera Mini 4 is now official. I just updated Opera Mini on N95 and played around.Although I don’t know if ...

gPhone Announcement Today – but I post yPhone

I came back from Japan last week and finally I am recovered from jet lag.Anyway, today, I will hear more details on g...

iCuteoverload on Apple.com Directory

Now iCuteoverload is on Apple’s iPhone web app directory, and girliemac.com has gotten new visitors.Thank you!

Mobile Firefox is Coming!

Minimo for Windows Mobile sucked.Now Mozilla announced Firefox for mobile devices (and death to Minimo). Yay!!! Big y...

Usability Guidelines for Mobile Web

WebCredible has this great article about usability on mobile web, 7 usability guidelines for websites on mobile devic...

Pink iPod Shuffle for Breast Cancer Awareness Month

Now here it is – iPod Shuffle in pink.The package is sold at Target, and a potion of the sales will be donated to The...

Japanese IME on iPod Touch

Apple have posted an iPod Touch features guide a few days ago, and I finally had a chance to read it.As I wrote and p...

iCuteOverload Update – Launch YouTube app

OK, iCuteOverload beta (preview at: girliemac.com/cute on iPhone!) is almost official.Before handing to Megan, I made...

iCuteOverload Beta pix

Beta preview: go to http://girliemac.com/cute on your iPhone to see.My next plan: convert all YouTube Flash embed int...