technically speaking

ramblings of a interweb user

Archive for the ‘Code’ Category

Looking to game consoles to predict the future of the iPhone

with one comment

With section 3.3.1 of the iPhone SDK terms of service agreement Apple has once again ruffled the feathers of those that support them. 3.3.1 mandates that no intermediary language can be used in the creation of iPhone/iPad applications. Steve Job’s suggests that this to maintain quality control, but technically that’s what the App Store review process is for. Personally I think “quality control” is just a cover up for marketing insecurities. My buddy Arpit captures this point with a touch of humor

“He really should go and look at the crap apps that currently flood the apple app store, so much so that Apple has started to remove apps with “limited functionality” and “objectionable content”. But hey, iFart is still one of the top sellers but at least it was done in Objective C. “.

Since the release of 3.3.1, the bloggosphere has been flooded with people’s opinions and there is no need to reiterate these points. One of the best reads on the subject comes from The Tao Effect, as it covers both Steve’s responses and makes some solid points on the subject. And others are reminded of the 80’s when Apple (under Steve Jobs) followed a similar path with the desktop market only to watch the market be completely overtaken by windows/intel based computers. TechCrunch waxes more deeply on this subject. One thing I haven’t seen referenced yet is the history of the game consoles and how closed/”locked-in” system worked or better failed to work.

If you look at the gaming console market you can see how “locked-in” versus cross-platform support plays a bigger role in the success of the console then the hardware or even market dominance. When Microsoft entered the market Sony’s PS2 and Nintendo were the dominant players. And Microsoft had zero clout in the gaming world, especially against Nintendo, Sega and PlayStation. But what Microsoft did have was a way game developers could code the game once and get it on both the new XBox console as well as millions of PC. Fast forward to today and XBox is now the platform of choice to gamers the world over despite the PS3’s better graphics and hardware. Why?

Because it’s the games that draw the users just like it’s the apps that make the iPhone what it is. Sure the iPhone revolutionized smart-phones and is the current market leader, still there are more non-iPhone smart-phones everyday. With Android being offered free to phone manufacturers it’s sure to increase market share despite anything Apple does. As developers start realizing they can reach a larger audience (make more money) by developing cross-phone applications the iPhone will start to feel the pain Sony felt with the PS3.

As a customer I want to get the most for my money, currently that’s an iPhone, but when my contract is up and I’m looking at the next few years will the iPhone continue to offer me the best deal? Based on moves like section 3.3.1 the iPhone’s future just got a little dimmer.

Written by Rob

April 11th, 2010 at 10:12 am

Apple revisits New York Times’ homepage

without comments

Apple/New York Times - Ad integration 5-18-2009

Apple/New York Times - Animated - Ad integration 5-18-2009Once again Apple has paired up with the New York Times to create an ad users actually want to see.  This time it’s for a homepage integration/takeover featuring multiple ads all working in unison.  Similar to Apple’s TV ads, this site integration features John Hodgman (PC) and Justin Long (MAC) talking about their differences.  In this case John is commenting on the results of a Forrester Research poll, shown in the ad space above theirs, when two characters from yet another ad space join in on the conversation.  Before they start talking they seemed to fade into the pages background drawing little to no attention.  When the main ad is complete the two secondary ads fade to an unobtrusive white panel with a floating Apple logo.  Allowing those that keep the NY Times open all day (to see news updates) not to be barraged with Apple, Apple, Apple.

Though this isn’t the first time for Apple it’s still worthy of the viral attention is getting/has gotten.  It’s cleanly designed and executed.  Continues the sense of humor that has made these ads a hit for the last few years.  Makes great use of its environment.  It may only run a single day but I’m sure both parties make out as winners each time they meet.




Links:
Apple
New York Times
John Hodgman
Justin Long

Written by Rob

May 18th, 2009 at 5:22 pm

The Rapid Concepting/Development Experiment

with 2 comments

Monday was the start of Lab Week for the developers at CIM.  The idea being that the developers could get a chance to work on stuff that wasn’t part of their everyday routine.  Similar to the 20% time that Google has made famous, but in this case the time is collected and used as a team over the course of a week (Lab Week).

Overall I think the concept behind Lab Week is great, we just need to smooth out the implementation.  Based on how things ran I learned that for Rapid Iterative Design (method modified from Todd Warfel’s talk at Refresh Philly) to work there needs to be a moderator.  Ideally the moderator would be an unbiased non-participating person, and not the HiPPO in the room (Highest Paid Person’s Opinion – alla Google’s talk to CIM from a week earlier).  This moderation seems to be needed to keep the pace of the itteration process as well as keep people in the present and focused on the current goals.

Two other things that I feel would aid the overall goal of Lab Week are the removal of other external workload stresses and bottom up decision making.  Actually, I think these last two are essential components, without them it’s hard for members to focus on the lab project or feel the level of project ownership that motivates and inspires.

My comments above meant to guide us for the ideal Lab Week.  For our first run there was much to be proud about.  On Monday there was nothing, on Friday we had all the parts for our proof of concept.  A few more hours this week to bring everything together and we’re done…for now.  Even with some hours being done this week the time it it took us to go from nothing to complete will be shorter.  The integration between the teams will only help future projects run smoother.  And who knows maybe the concept we had has some legs and takes off.

Read the rest of this entry »

Written by Rob

March 31st, 2009 at 7:41 pm

Image extraction via RegEx

without comments

I recently was working on a project where I needed to write some RegEx (Regular Expressions) to extract image tags and the image’s source URLs out of RSS feeds.  Though RegEx can do some really impressive things with finding specific strings in a mass of text, it’s also a royal pain in the ass to write, especially if you don’t work in RegEx everyday.  For those that never heard of RegEx, I point you to Wikipedia, they can better explain what it’s all about way better then I.

As I mentioned my goal was to extract image tags and it’s source URL out of RSS feeds.  Part of this wouldn’t be neccessary if people actually used the image node within RSS rather then adding the image to the description’s contents…but I degress.  Knowing that these expressions may fulfill a common need I am posting them below.  Currently this is separated into two separate expressions, making it a two step process to extract the image’s source URL.  Doing it this way was less complicated and easier for me to verify it’s functionality.  If there is someone more familiar with RegEx and can optimize this into a single expression I welcome your input.

Extracts complete image tag <img ***** />
    (<|&lt;)img([\s]*[\S]*)([\s]*|[\S]*)*/(>|&gt;)

Extracts source URL from image tag
    (?<=src=”)([^"]*)(?=”)|(?<=(src=’))([^']*)(?=’)

These expressions could easily be editied for extracting other HTML elements from RSS or other texts.

Written by Rob

March 19th, 2009 at 9:33 am

Papervison 3D: first blush

without comments

Papervision3DPapervision 3D has been around for some time. I’ve been interested in checking it out but never had a project to bring it beyond just a thought.  I now have a project that calls for some simple Flash 3D.  To start out I hit GoToAndLearn, as usual his tutorials are quick and concise .  I was shocked how simple the basics were.  Sure things will get more complicated once you move beyond the box.

My first snag was with a basic scene and a simple cube.  I placed specific materials to each of the faces of my cube to emphasize the feeling of depth.  Upon export I’m not seeing the front of my cube, but rather the back face.  I wasn’t doing any rotations yet so I’m not sure why it was rendering as if from behind.  Not finding any explanation, I instead readjusted the faces themselves to look as I wanted.  Every other transformation worked as expected, it was only the mirrored view of the cube’s faces.  If anyone has an explanation I’d love to hear them.

Links:
Papervision 3D
GoToAndLearn

Written by Rob

March 12th, 2009 at 1:03 am

Posted in Code

Tagged with , , ,

The joy of coding

without comments

Part of writing code is knowing the vocabulary of the particular language.  I’ve been working with ActionScript for years and started the transition to AS3 about a year ago.  I’m currently working on my first AIR application.  AIR can be made  as either Flex or pure ActionScript based.  Since I’m using Eclipse, which by default only supports Flex based AIR apps, I was in Flex’s world and not knowing it’s little quirks I was hitting a wall.

Not knowing the quirks or vocabulary of Flex nor all of AIR’s additions, the search for answers in the documentation left me empty.  Since what I was searching for seemed so basic and simple that I didn’t expect not to find it.  The answers could have been there, I just never found it.

So what was this mysterious nugget I was looking for?  It was simple little thing, adding a Sprite to the stage.  Found how to make various window types and other interesting tid bits, but none of the samples were based on a Flex based AIR app, which is what I was building.  To say the least it was very frustrating.

Turns out that to add a child to a Flex window you can’t just use addChild(), as the Flex window is a FLEX component.  There is a special function called addrawChildren(), which adds a non-Flex component to a Flex component.  From there you can add sub-children via addChild() as you would in an ActionScript based project.  It’s always the little things.

This simple answer/lesson was given to me in less then 5 minutes by my co-worker, Arpit.  He also showed that it was possible to do a non-Flex based AIR app in Ecipse, so all this was for naught.

Link:
Arpit

Written by Rob

January 8th, 2009 at 10:10 pm