Tuesday, October 18, 2011

Android 4.0 Ice Cream Sandwich Screenshots

Google and Samsung announced their latest smart phone Galaxy Nexus earlier today. It has awesome hardware capabilities and the offerings from Android 4.0 are quite exciting. Check out the official blog post here. Android 4.0 SDK was also released today and you can download it from here. I downloaded the SDK and played around with the emulator. Emulator seems to be faster than that of HoneyComb but still you will find some slowness compared to previous versions.

Note: Hover over each screenshot to know more about it. Click on a screenshot to enlarge it.

Android 4.0 SDK - Installation

Android 4.0 SDK - Installation

Android 4.0 SDK - Emulator with Ice Cream Sandwich virtual device

Android 4.0 SDK - Ice Cream Sandwich home screen

Android 4.0 SDK - Ice Cream Sandwich lock screen

Android 4.0 SDK - Ice Cream Sandwich Apps screen

Android 4.0 SDK - Ice Cream Sandwich Widgets screen

Android 4.0 SDK - Ice Cream Sandwich Improved Phone app

Android 4.0 SDK - Ice Cream Sandwich Improved Browser App

Android 4.0 SDK - Ice Cream Sandwich Browser Options

Android 4.0 SDK - Ice Cream Sandwich Browser Tabbed browsing

Android 4.0 SDK - Ice Cream Sandwich Browser App

Android 4.0 SDK - Ice Cream Sandwich Improved Copy-Paste options

Android 4.0 SDK - Ice Cream Sandwich Settings

Android 4.0 SDK - Ice Cream Sandwich Data Usage app

Android 4.0 SDK - Ice Cream Sandwich Installed apps

Android 4.0 SDK - Ice Cream Sandwich Resizing widgets

Android 4.0 SDK - Ice Cream Sandwich Resizing widgets

Android 4.0 SDK - Ice Cream Sandwich People app. Unfortunately I was not able to connect my Google account.

Android 4.0 SDK - Ice Cream Sandwich Calendar app

Android 4.0 SDK - Ice Cream Sandwich

Android 4.0 SDK - Virtual Devices

Android 4.0 SDK - IceCream Sandwich

Android 4.0 SDK - IceCream Sandwich

Android 4.0 SDK - IceCream Sandwich Account setup. Unfortunately, this does not work on emulator.

Android 4.0 SDK - IceCream Sandwich Account setup. Unfortunately, this does not work on emulator.

Android 4.0 SDK - IceCream Sandwich. It rocks!!

-- Varun

Sunday, October 16, 2011

Less , the dynamic style sheet language

A style sheet language is one which describes how a document has to be structured and styled. The most widely used style sheet language is CSS and is mostly used for styling web pages written in HTML. If you have developed even a simple web page, you would have definitely come across CSS and would have used it in some form. CSS plays an important role in the success of modern web applications with rich UI. CSS has gone through various iterations with the latest one being CSS3. However, there are some limitations with CSS. We can’t do dynamic stuffs like interpolating a property based on a variable, re-using a property value across classes, etc. Less is an extension to CSS with dynamic behaviour such as variables, mixins, operations and functions. We can write complex CSS styles with Less. Do more with Less.

Highlights:

Variables. This is a very useful addition to CSS. In most of our CSS files, we would have some repeating values like color, font-size, etc. With Less, we can define global variables for these values and use them across the classes.

Less - Variables

Mixins. Mixins allow you to embed all the properties of a class into another class by simply including the class name as one of its properties. It’s just like variables, but for whole classes.

Less - Mixins

Nested Rules. Often, we write some complex selectors which are lengthy and hard to read. With Less, you can simply nest selectors inside other selectors. This will improve the readability and makes inheritance clear.

Less - Nested Rules

Functions & Operations. Sometimes we would need to write a class in proportion to an existing class, for example a class for hover will have properties opposite to that of its base class. With Less operations (add, subtract, multiply and divide) on property values, you can build a complex relationship between properties.

Less - Functions & Operations

How to use Less?

Less can be used on the client side (on browser) as well as on the server side (using Node.js).

  • On the client side, we need someone to understand Less syntax and converts them to browser understandable CSS. This is done by Less.js which needs to be included on the client side. Less files are saved with .less extension and can be linked to your page with rel attribute set to ‘stylesheet/less’. Make sure the style sheet is included before loading Less.js. The only drawback with this approach is that the conversion happens every time the page is loaded.
  • On the server side, we can pre-render Less files to CSS and serve the compiled CSS files. This is more efficient than doing it on the client side. You need to have Node.js installed to do this pre-rendering. Check out more info here. If you are on Mac, you can use this app.

Browser Support

Since Less uses basic JavaScript techniques, almost all the browsers support Less - IE 6+, Webkit and Firefox.

I have been using Less for quite sometime now and it seems to be very handy. Who else uses this? Twitter uses Less in its UI toolkit Bootstrap. Try it out yourself. Do more with Less. The source for Less is available here under Apache License. Know more about it here.

-- Varun

Saturday, October 15, 2011

Hamster Hamster Hamster Draaaaaaaaaag Racing

Star Trek Art Car - from Greece?

Here is one of the first Star Trek art cars I have ever seen out of Greece and I commend him for doing it. It's the first art car period that I have ever seen out of Greece and having lived there my self, I can't imagine anyone driving around in them, yet. It will take sometime before its more accepted, but someone had to be the first. To you my bold friend I say, Yiassoo.

Wednesday, October 12, 2011

Sausalito Art Car Gets New Life by Heather Wilcoxon

Heather Wilcoxon is better known as an artist from Sausalito Cailfornia who now lives on a decorated house boat called the "Delta Queen". I was honored to meet Heather last Saturday who came to my garage sale while visiting here sister who happens to live down the street from my house. We started talking about art cars and told me about her Gremlin art car that no longer works but has taken a

[How to] Run Android apps on Windows

I have written earlier about installing Android market on the emulator and running Android apps on it. Here is a much simpler way of running Android apps from your PC. BlueStacks is a cool app which lets you run Android apps on your Windows PC. The application is available for free and it supports only Windows as of now. There is also an Android app which facilitates syncing of apps between your smartphone and the PC.

Features:

  • Full screen mode for apps.
  • Sync apps between Android smartphone and PC using BlueStacks Cloud Connect.
  • Install up to a maximum of 26 apps. (Unlimited in the case of yet to be released Pro version).

BlueStacks

BlueStacks Gadget

BlueStacks - Talking Tom2

Try it out here. Mac version of BlueStacks will be available soon.

-- Varun

Tuesday, October 11, 2011

The Fin Car by Bill Lockner

the fin carBill Lockner’s car is a 1979 Volvo that has been enhanced and rebuilt using scrap yard metal, and car parts that were bound for the landfill.“It started out stock,” Lockner explains, “and as time went by, things got added to it.” These things include truck fenders, the back end of a Rambler, and a fin.“[The Fin Car] was an idea to use up and change a car that to me represented soccer

Saturday, October 1, 2011

Per-Element FullScreen API

I have been following the developments on Chromium channel and one thing which caught my attention last week is the fullscreen API. As the name suggests, the API supports “per-element” fullscreen on the browser. Traditionally browsers have been supporting fullscreen mode for the entire page but not for the elements on the page. This API will be handy if you want to focus on a particular piece of information on the page. Most of the analytics application can make use of this API to show more detailed information. I have worked on applications which spans across two monitors as it displays huge amount of information. With this API, I can utilize the real estate effectively. Multimedia contents can also be shown on fullscreen. The API, which is based on the Mozilla’s proposal, has two JavaScript methods: requestFullScreen() and cancelFullScreen(). Check out the demo here.

How do we use it?

The API includes the following methods to all the elements in the DOM:

  • requestFullScreen(): Requesting the browser to render the current element in fullscreen. On using this method, the keys will be disabled and the element will not receive any keyboard events. This is to protect the users from potential phishing attacks in fullscreen mode. 
  • requestFullScreenWithKeys(): Same as requestFullScreen() but with access to keyboard events.
  • cancelFullScreen(): Use this method to return back to the normal mode.

These methods have been added to all the elements in the DOM. Apart of this, a new attribute allowfullscreen has been added for the iframe element. You can also listen to the event fullscreenchange to know the state of the element. Three CSS pseudo elements have also been added: :full-screen, :full-screen-doc and :full-screen-root-with-target. Using these pseudo elements, you can control how you want your elements to appear in fullscreen mode.

Criticism:

The proposal received many criticism from the security experts. Some of the concerns are:

  • Attackers can request fullscreen and pre-empt keyboard focus. Your security credentials could possibly be stolen.
  • Increased chances for phishing attacks.
  • One could open up fullscreen mode without user interaction (which in my opinion is very bad). 

The aforementioned concerns can be addressed if control is given to the users to allow / deny fullscreen mode. Also, plug-ins should be disabled in the fullscreen mode.

Browser Support:

  • Safari 5+ (with webkit prefix)
  • Chrome 14+ (with webkit prefix). Chrome 14 requires the flag: –enable-fullscreen. It has been enabled by default in Chrome 15 (not yet released at the time of this post)
  • Implementation of the API is in progress for Firefox. It is expected to be available as part of Firefox 10.

Check out this page for demo. More details can be found here

-- Varun

google-site-verification: googlea4d68ed16ed2eea6.html