something in the way

a tumblog about design + code
Oct 25

Nest

Media_httpwwwswissmis_irgyi

Visionary Tony Fadell who, back in the day, was in charge of the iPod at Apple *just* launched a brand new product called Nest. It’s a incredibly sexy looking thermostat that learns as you use it and, in the end, helps you save money.

10% of all U.S. energy is controlled by thermostats. That’s the equivalent of 1.7 billion barrels of oil per year. But in most homes the thermostat is an unassuming beige box. It doesn’t matter if it’s a manual or complicated programmable thermostat,we do with it what we’ve always done: get up, walk over to it, and change the temperature. Every few hours. Every day. 1,500 times a year.
We still try to save energy, of course. We turn down the thermostat when we can, we don’t set it too high or low. But we’re human. We forget. Until we see our energy bills.

That’s where Nest comes in. Smart. Hat tip off to Tony Fadell and his team. Learn more or Pre-Order.

Dec 29

Following the example of Angry Birds

Tweet

I often see many companies working only for iOS and Android. It is true that they are the main platforms (mainly in the US) and that they make much more money than other platforms. However, their product will never be famous. Let’s analyze for some minutes the Angry Birds example.

If you are reading this post you may already know what Angry Birds is. If not, you can check what Wikipedia has to say about it. Why am I talking about Angry Birds? This addictive game crossed a line when talking about popularity: millions of downloads, #1 in almost every store, Plush Toys Store launched, people talking and joking about it, fans worldwide, etc. And all achieved in one year!

Just look at the end of this Google’s video where Angry Birds is treated as the same level as iPad talking about hot search topics in 2010. You can also see the video showing a TV comedy show Angry Birds fun video.

What about the dozens of videos in YouTube showing how to solve every level of the game?

Why did they all pick Angry Birds and not other game? Popularity. I will not talk about Angry Birds as a game. I will talk about Angry Birds as a multiplatform solution. Angry Birds is now officially available for iPhone/iPod, iPad, Android, Symbian, MeeGo, webOS and the list continue growing, including Windows Phone and Bada for next months.

Everyone can talk about Angry Birds because it is available in most platforms. Think about it: if a game or app is only available for one or two platforms, it will never be famous. Which famous trademarks do you remember that are iOS applications or Android applications only? If you decide to develop for one platform, your app will only be a niche product and it will not cross the popularity frontier.

Ok, I know… multiplatform is not the only outstanding feature of the game. Angry Birds is also funny and addictive. But I’m pretty sure that if they were available only for one platform, they would not be so famous.

BTW, I don’t believe Angry Birds is an innovate game. It is just a clone, a good one, from other older games. Just look at Crazy Penguin Catapult and you will see what I’m talking about. In fact, I believe Angry Birds has also some failures in game and level design. However, here we are: talking about it.

Conclusions:

  1. Don’t insult a user because she does not have the phone you like to develop for.
  2. Provide the best experience you can for every platform.
  3. Think on mobile web solutions for solve portability if possible, like hybrids, widgets and webapps (Chapter 12 of my book covers these topics).

Follow Angry Birds example: be multiplatform.

Dec 7

Android 2.3 Gingerbread: the browser

Tweet

I’ve to admit: I had a high expectative for new APIs and feature support in Gingerbread. After the iOS 4.2 update, and the last Google IO announcements for Gingerbread, I was expecting more HTML5, accelerometer, full-screen webapp and SVG support. Is Android Browser 2.3 supporting this? Let’s see.

What’s new on Android 2.3 browser?

While I am still waiting for the 2.3 OTA (over-the-air) update for my Nexus One, I’ve tested for one hour the Android Browser in the emulator available with the SDK, following the installation and localhost usage guidelines I wrote in Chapter 4 of the book.

Back in July, I’ve talked about Google’s promises on the browser and Froyo (2.2) browser updates. And a week ago, I’ve also talked about iOS 4.2 Safari updates with great surprises.

Therefore, my expectations were high. And I have to be honest: I’m disappointed.

The new browser does not support any of the promised and expected features. It seems to be the same browser with some minor core updates, such as support for better exception handling with new object constructors like SyntaxException, EvalError or URIError.

There is still no support for SVG, Animated GIF, Web Sockets or other HTML5 stuff (besides HTML5 compatibility in 2.2). And there is no support for Device Motion, accelerometer, camera or speech support, as promised in Google IO (see video1 -starting at 6:00- and video2).

UPDATE: Here you will find the video:

UPDATE: We can find now WebM support for the video tag on Android 2.3.

We can access many of these features from Flash Player 10.1, however the user needs to install it from Android Market first.

Media_httpwwwmobilexw_qpmlh

There is one big change affecting browser typing: the new virtual keyboard (see image at the right). It’s a great opportunity to use the free service I’ve launched a year ago: Mobile Tiny URL. You can short a URL optimized for numeric keypads, like the new Android’s one. Of course, it also works on other keyboards as well.

Waiting Android 3.0 Honeycomb

I have a request for the Android team for Android 3.0 Honeycomb: you need to empower your webapp platform. There is a lot of innovation to do in this topic and the Chrome team is leading this innovation in the desktop world with great success. You need to be at least in the same level in the mobile world.

I will continue with my testing on the browser. If you know any other feature working or missing, use the comment box below. If you want to check what’s new in the native environment, this is a good post.

If you want to know about HTML5 and other stuff for Mobile Web in Android, iOS and other 15 platforms, remember to look at Programming the Mobile Web book, from O’Reilly Media.

Nov 23

Safari on iPhone & iPad 4.2: Accelerometer, WebSockets & better HTML5 support

Tweet

iOS 4.2 is a free update for every iPhone, iPod or iPad device available now. This new release provides some major changes on HTML5 and W3C future standards support, like WebSockets and Accelerometer support, print support, new JavaScript data-types and better SVG support.


Apple didn’t update yet Safari documentation to reflect these new APIs. This information is based on JavaScript research and testing over Safari itself I’ve been doing. The list of new features I’ve detected are:

  • Accelerometer & Gyroscope support through the DeviceOrientation API
  • WebSockets API from HTML5
  • Updated HTML5 Form Support
  • Partial XHR-2 Support
  • Print Support
  • New JavaScript data types
  • New DOM events
  • Enhanced SVG and Canvas support

Accelerometer & Gyroscope support

As you may know, all iOS devices have accelerometer sensors (plusmagnetometer and gyroscope on some devices). However, as web developers, we didn’t have access to such sensors until now. Safari now supports the DeviceOrientation API (W3C draft). Looking at the available objects, it seems that all the API is fully supported (including ondeviceorientation and ondevicemotion events); I could only get accelerometer data with success.

UPDATE: Apple has just released the API documentation: accelerometer and gyroscope supported. See DeviceMotionEvent Class Reference and DeviceOrientation Class Reference.

If you have an iOS 4.2 device, go to ad.ag/wjmtgt from Safari browser. I’ve coded a sample in 15 minutes using JavaScript and some CSS3: it’s the typical ball moving on the screen regarding the iOS device’s position. The next video shows this sample in action:

The API detects and delivers accelerometer data 50 times per second. To get them you need to capture ondevicemotion event on the window global object (or using addEventListener with devicemotion as the event name) and then use the accelerationIncludingGravity property on the DeviceOrientationEvent parameter. It has three values, x, y & z, representing the acceleration in m/s2 for each axis. You should use typical accelerometer math for games, effects or CSS transformations.

UPDATE: If the device has gyroscope (iPhone 4 or iPod Touch 4G) then you can use acceleration instead of accelerationIncludingGravity.

window.ondevicemotion = function(event) {
// event.accelerationIncludingGravity.x
// event.accelerationIncludingGravity.y
// event.accelerationIncludingGravity.z
}

UPDATE: For gyroscope, you need to capture ondeviceorientation and read alpha, beta and gamma properties from the event parameter, giving us angles (between 0 and 360) for detecting rotation changes.  Remember that not all iOS devices supports gyroscope, so you will not receive this kind of events on iPod before 4G, iPad or iPhone 3GS or older.

window.ondeviceorientation = function(event) {
// event.alpha
// event.beta
// event.gamma
}

WebSockets

The other big new update is WebSockets support. WebSockets is a W3C HTML5 API currently in draft that allows JavaScript to use an open, bi-directional full-duplex connection to a server using TCP sockets. This is a great news for chat and real-time applications that will reduce AJAX periodic calls.

You will need a web server understanding the new WS protocol through an HTTP handshake. You should always rely on a fallback mechanism if WS is not supported on the server, or because of a proxy/gateway.

HTML5 Form Support

Besides the HTML5 Form support I’ve already discussed on the book, now we have support for the required boolean attribute and the new :invalid CSS pseudoclass. Therefore, the following code will show a green input text when completed and a yellow one when incomplete:

<style>
input {
background-color: green;
color: white;
}
input:invalid {
background-color: yellow;
}
</style>
<input type="text" required>

AJAX 2

The W3C draft called XMLHttpRequest Level 2 (aka AJAX 2) adds new features to the XHR object and functionality. From that specification, now Safari supports the FormData object that allow us to send form data via AJAX easily.

Print Support

iOS 4.2 includes AirPrint, a wireless printing solution. Therefore, we can use now window.print() to invoke the printing dialog on Safari.

New JavaScript Data-types

Safari now supports the Blob class and many integer-type collections, like Float32Array, Int8Array, Uint8Array, Int16Array Uint16Aray, Int32Array and UInt32Array defined on Typed Arrays specification. More information on Firefox website.

New DOM events

Besides the new motion events, now we can use the HTML5 new onhashchange event that detects changes on the URL after the hash (#) for AJAX-like webapps; the invalid, onbeforeload and onpopstate events from HTML5 draft specification.

UPDATE: It appears that Event Source API (W3C draft) is also implemented through the available EventSource class to receive server-side events.

UPDATE: I’ve receive some comments about onhashchange being supported from 4.0 or 4.1 versions.

Now, we can also use window.captureEvents and window.releaseEvents to capture events in a global way.

Enhanced SVG and Canvas support

iOS supports SVG as a separate document and also inline SVG (using the svg tag). And now we can also create SVG documents on the fly using a list of more than 20 classes SVG____, like SVGDocument, SVGImage directly from our code.
From HTML5 Canvas, there is now support for ImageData data-type, a way to manipulate images pixel by pixel from JavaScript.

Other stuff

  • A styleMedia API that allow us to make CSS Media Queries from JavaScript. See API.
  • A WebGLRenderingContext class available, part of the 3D Drawing API (aka WebGL). However, I’m not seeing any real WebGL support.
  • A global RGBColor constructor

I will continue testing new HTML5 features and APIs available in this new release. Do you know any other new feature? Feel free to contact me by twitter (@firt) or commenting this post.

Oct 5

Form + Code

The awesomely talented UCLA duo of Casey Reas (1/2 of Processing and come on, he has a 4 letter .com url. This guy is on the ball!), Chandler McWilliams (of The Barbarian Group and general art/philosophy brilliance), and the design/interactive shop LUST have teamed up to create a beautiful and expansive compendium of computational aesthetics. The book, entitled ‘Form + Code’, published by the Princeton Architectural Press, features an impressive collection of work. It is a must have for anyone finding themselves at the crossroads of art and technology. Not only is the book beautifully designed, but it is equally beautifully curated.

Media_httpfarm5static_leegj

The book begins with a brief history of code and then showcases specific examples through the categories of repetition, transformation, parameterization, visualization and stimulation. You will likely see many examples that you recognize and hopefully, just as many which are new to you. I was happy to see ‘The Visual Thesaurus’ because it was the first website which made me see the artistic potential of code despite it being more of a reference site than an art site.

The Form + Code website is a good place to start. You can see some spreads from the book, list of contributors, and a bunch of code examples (written in Processing)… pretty much everything you need to get inspired. Also, check out the more thorough review by Rhizome.org.

The book is available from Amazon.com.

Aug 28

Some Rest, Intel, FOTB, Lisbon, MAX and Latin America!

Things are going to be pretty unresponsive around here (more than usual) for the next week as I’m taking some time off to recharge the batteries. After I return things will be picking up rapidly as we enter the new conference season. Here are some upcoming things that are going on over the next few months. There is lots of exciting new stuff that I can’t wait to start talking about.

Intel Developer Forum · San Francisco · Sep 13 – 15
My first conference back will be the Intel Developer Forum taking place at Moscone Center in San Francisco. Adobe and Intel have partnered for the Melrose project that presents an excellent way for developers to monetize their AIR applications targeted at netbooks. I will be presenting on Adobe’s multi-screen vision.

Flash on the Beach · Brighton · Sep 26 – 29
I am really starting to get amped up for this year’s Flash on the Beach conference, which is arguably the world’s best. There is an interesting mix of speakers this year including several industry heavyweights. The Inspire sessions are probably my favorite part of this conference. Now don’t be a wanker. Go and register.

Flash Camp Portugal · Lisbon · Oct 2
This will be my first time in Portugal and I’m looking forward to hearing the difference between Brazilian Portuguese and the native version. Will essa porra even translate? The plans for this are still in the works but it will take place in Lisbon on October 2nd.

Adobe MAX · Los Angeles · Oct 23 – 27
MAX will be huge this year and I will be pretty busy. I’m doing a 90-minute BYOL session on building your first AIR for Android application. I will also be doing a slightly modified version of the My Head Hurts presentation that I did at FITC. I think it is a really informative session. Go and register for my sessions if they sound useful to you.

Latin Flash Tour · Latin America · Oct 30 – Nov 12
Yes were coming back for a second year bringing mayhem, cervezas, and some Flash stuff too. Check out the details on the official site. Details are still be worked out so be sure to check back. Mateo un ladron!

Aug 27

Demand for Flash Developers is Increasing

The Wall Street Journal recently put out an article describing how the demand for Flash developers has been increasing as of late. While this is no surprise to most of us in the community, it is a refreshing reminder that those who have marked Flash as a dying technology are quite wrong indeed. The article states that the increase in online Flash gaming is a large reason for the spike. I’m guessing that it also has something to do with all of the anticipation surrounding Flash on mobile devices.

The article also includes a quote about the salaries that top Flash developers are getting these days:

Top full-time Flash engineers can now command more than $150,000 a year in salary, says Stuart Liroff, a headhunter at GreeneSearch recruiting firm. That compares with $50,000 to $80,000 a year three years ago.

I’m sure a lot of you are now running to your bosses office to talk about getting a raise

Media_httpblogtheflas_visej
.

Aug 10

Flash This – Not That!

Below is the first of a series of images depicting situations where you might want to use Flash along with those where you probably shouldn’t. They are based on the great Eat This – Not That! articles put out by Mens Health magazine. Now these are not hard and fast rules but instead just a general guide.

Media_httpblogtheflas_svbpp

Look for more images in the series over the next couple of months. I won’t be using specific examples of sites that use Flash in questionable ways. If I did I would have to include several of my own previous sites

Media_httpblogtheflas_jsfvs
.

Apr 18

Flash Player and Adobe AIR Betas for Android

Media_httptheflashblo_krnzb
You can now sign up to be notified when the first public betas of both Flash Player 10.1 and Adobe AIR 2.0 are available. We just started the private betas and we are really looking forward to getting these technologies into your hands as soon as possible. There are going to be so many interesting things that you will be able to do on Android and there are also going to be many new skills that you will need to learn, especially if you are new to mobile design. One thing that will help you tremendously is to learn more about optimizing content for mobile devices. There are separate sign-up pages for Flash Player 10.1 and Adobe AIR 2.0 so go on over and get registered. Unfortunately I can’t give any information about the specific dates for the betas.

A note regarding my comment policy. Only comments that relate to the post that they are submitted under and that do not contain vulgarity will be approved. Thank you.

Lee

Apr 14

Multi-touch Floor Display

Media_httpwwwubergizm_jijjp

Did you think that multi-touch on your MacBook or iPhone was amazing? Try having it on the floor, and see what you can do with it. That’s what a team under human-computer interaction professor, Patrick Baudisch, came up with. It incorporates multi-touch technology into back-projected floors, and the floor can sense the pressure and recognize users based on the soles of their shoes. Thanks to a high level of precision, it can even allow users to type with their foot on a QWERTY keyboard. Check out the video after the jump to see how awesome this really is.

Permalink: Multi-touch Floor Display from Ubergizmo | Hot: Sony Vaio Z Review, iPad Review

Media_httpfeedsfeedbu_mhiub
Media_httpfeedsfeedbu_ivhgk
Media_httpfeedsfeedbu_neoyg
Media_httpfeedsfeedbu_jgykc
Media_httpfeedsfeedbu_seckk

Get Updates

Tags

Archive

2012 (6)
2011 (11)