The Shape Of Wireless To Come
The second part of my CTIA wrap, this time at CEA’s Digital Dialogue blog, covers four themes I picked up on at the show: LTE will be the new way we spell wireless, mAh as the specification we (or, at least, Android users) obsess over instead of MHz, the growing push for extra subscription revenue from smartphone users, and the uncertainty over who’s going to give iOS and Android some needed competition.
Source: robpegoraro
Ms. Jones, Vintage Style, 1940s
Source: Flickr / blackheritage
iOS programming: calculate height of text area
EDIT: A friend on Twitter informed me that the better way to do this is:
[nameText sizeWithFont:font constrainedToSize:CGSizeMake(300.f, MAXFLOAT) lineBreakMode:UILineBreakModeWordWrap];The key being that you can create a CGSize object with MAXFLOAT as the height.
My iOS skills are certainly a work in progress.
While learning objective C I thought a good test project would be to give some love to my old friend Nerd Nearby.
Nerd nearby is pulling local info from several services such as instagram and foursquare. Since the data is unique to each user we have to dynamically size each section of each cell to accomodate different amounts of text.
In this example there are 2 lines of text but this will change with each item. This is trivially easy in HTML/CSS but it turns out that in iOS it’s tricky to do dynamic resizing because here are no built in functions to find out how tall your text should be given a fixed height.
My solution was to add a category that extended NSString. In objective C they make it really really easy to add methods to a class from any library. This is a little scary to me but for now I’m rolling with it. Here’s my code:
In NSString+NerdNearby.h:
@interface NSString (NerdNearby)
- (CGSize) multilineSizeWithFont:(UIFont *)font forWidth:(float)width lineBreakMode:(UILineBreakMode)lineBreakMode;
@endAnd the gross bit, in NSString+NerdNearby.m:
@implementation NSString (NerdNearby)
- (CGSize) multilineSizeWithFont:(UIFont *)font forWidth:(float)width lineBreakMode:(UILineBreakMode)lineBreakMode
{
CGSize size = [self sizeWithFont:font];
CGSize oneLineSize = [self sizeWithFont:font forWidth:width lineBreakMode:lineBreakMode];
if (size.width > width) {
float area = size.width * size.height;
float newHeight = area/widthSize.width;
if ((int)ceil(newHeight) % (int)oneLineSize.height != 0 ) {
newHeight = (float) ((ceil)(newHeight/oneLineSize.height) * (int)oneLineSize.height);
}
size.height = newHeight;
}
size.width = width;
return size;
}
@endThis is certainly not perfect. For instance, it only checks if the first line break would be shorter than the width. I’m not really sure how to access how long the second line of text would be. For my purposes though, it’s good enough.
Source: samanthajohn
Source: enjayneer
Advanced Millennium Technologies: Brunch – A Handy Assembler for Building Your HTML5 Apps
Brunch is a handy MIT Licensed, assembler for building your HTML5 applications. It is agnostic to frameworks, libraries, programming, stylesheet & templating languages and backend technology.
To simplify app development, brunch watches your files for changes and automatically wraps your…
Source: amtindia
A brief overview of HTML5.
Video by Topic Simple (http://www.topicsimple.com)
Transcription:
So, if you have been paying attention to chatter on the internet these days, especially geeky chatter, you may have heard the term HTML5. Well what is that?
HTML stands for, uhhh forget it, but its the behind the scenes coding language that makes us able to see stuff online.
Since the original HTML was invented with the web over 20 years ago, it has gone through many updates, but its been more than a decade since the last one, and in web terms that’s pretty much forever. I mean like 10 years ago we all still loved our digital watches.
So HTML has been a few steps behind changes on the web for quite some time. For example, when video came along, there was no way to integrate it naturally into HTML, so different companies developed their own video players to work around it. These worked OK, but they all were all external plugins, meaning that you had to download them, and this was, well, annoying and potentially risky.
HTML5 is adding capabilities to deal with this stuff - like video - right into its code, so that plugins hopefully won’t be necessary. And there’s plans to add a bunch more cool stuff that previously was tricky or even impossible to implement with HTML alone. The overall hope is that some day it will create a standard, consistent web experience across all devices and browsers.
HTML5 is still being developed, and as of early 2012 isn’t 100% finalized, but the browsers are starting to implement some of its features, and together they are working hard to get HTML5 fully ready for uhhhh… someday in the future.
Source: techsandiaz
Ubuntu Phone OS Being Developed
A recent job listing has revealed that an Ubuntu Phone OS is currently under development. Canonical, the major developer behind the Ubuntu OS, is seeking a Business Development Manager for its Ubuntu Phone OS project that will be responsible for establishing relationships with phone vendors and telecommunications companies to promote the platform.
This isn’t the first time that Canonical has attempted to adapt Ubuntu to smartphones. It had previously tried to push Ubuntu Mobile, which ended in 2009, as well as Kubuntu Mobile and an ARM version of Ubuntu. Fans of the platform have designed several concepts for a mobile Ubuntu OS, one of which designed by Musl1m is shown above.
Canonical has also backed the Ubuntu for Android project, which brought the desktop experience of Ubuntu to Android handsets. It runs both Android and Ubuntu simultaneously and was first demoed to be fully operational on the Motorola Atrix 4G 2 at Mobile World Congress last month. It’s believed that Ubuntu for Android can be run on any Android smartphone as long as it has video-out, a dual-core processor, and at least 1GB of RAM.
Source: occupyallstreets
Source: blackhistoryalbum.com






