February 2010

02/23/2010

New Developments (iPad, Rumors):

Ok, So my last update came before the launch of the iPad, and that in part pushed me towards downgrading the likelyhood of a front facing camera, because I thought they would put one in the iPad. Well they didnt, and after seeing what they did do, im not suprised. My take on the iPad is that its getting alot of hate from silly nerds on the internet, and when it actually launches and people start using it and seeing its potential harnessed by 2nd tier apps, everyone will do an about face.

Front Facing Camera, Its for sure now:

With that being said I am going to post my updated list. The big change here is im moving the front facing camera upto "for sure". WHY ? you ask ? well there was a leaked image of a 'prototype' iphone next to a prototype iPad:

and if you look very closely you can see that there is an extra pin hole on the front of the iphone. Which is probably for a camera.

Also another rumor came out the other day from some developers who ripped open the SDK and found resources that would directly indicate the presence of Video Calls on the iPhone.

Both of these rumors combined plus my original reasoning that I had in my first post, make this almost 100% for sure. It can be hard to say something like this is 100% but I am convinced that they will launch the new iPhone with a front facing camera.

Like I said in my original post, it may be for phones on Wifi only, but it will probably be for phones on 3G as well. My bet is that ATT's towers will have a way to tell the iPhone it is safe to use video conferencing, so youll get some indicator on the phone, or it may just be if your in 3g it will work. All of this is speculative of course.

One thing to consider is, if verizon does get the iPhone, like alot of people have been hinting at, then there will be the inevitable exodus of ATT users to verizon, this will likely free up some of their network capacity.

But honestly I think ATT has the best network, yaa verizon has better 'coverage', but the majority of people live in the coverage area that ATT has, thats probably why they dont care about those stupid map comparisons, and frankly I dont either. I dont travel much and when I do travel I have never been to a place where I dont get service. I would rather have faster 3g than slower 3g, and more coverage.

Changes From my Last Post:

So Heres a quick summary of the other changes from the last post I made to list and why.

1. Bigger screen, and flash support are going into a new category 'NOT HAPPENING'

Weve seen what a iPhone with a bigger screen looks like, its an iPad. And honestly I hardly ever hear complaints about the iPhones form factor. So they arent gonna change the screen size. Maybe it will be a smidgen wider taller fatter skinnier, but the base resolution of the screen is going to remain the same, because if they were to make it 10% bigger, it would add marginal benefit and it would totally screw over developers.

2. Front facing camera - FOR SURE

3. File Management, doc generation.

Ok we will probably get file management, because now that the iPad can make docs in iWork, your gonna need to be able to store and view them on your iPhone, it just makes sense to integrate everything, as for doc generation, thats pprobably wont happen since all of that stuff is being pushed to the iPad. so that is going away.

4. Quick note about flash on the iphone:

Apple doubled down on their anti-flash stance with the launch of the iPad, if there were gonna do it on any device besides the iPhone it would be the iPad with its larger battery and better processing power. So frankly if its not there, they wont put it on the new iPhone. Plus, its just a software update, so if they do cave, its not gonna be on launch day. Plus the problem with flash is the experience sucks on mobile phones, just look at this video:

Besides, Apple makes a boatload of money on the app store, so allowing flash would see a huge migration of apps to flash, since you dont have to get them approved, and you dont have to go through itunes to make money. Plus alot of this comes back to the fact that Flash kinda just SUCKS, its slow, buggy, crash prone, and a CPU HOG. And honestly what do you really miss with flash that couldnt be done in an application ? Flash ads, thats fine with me they are incredibly annoying anyways. Hulu and video, ok hulu there is an SDK you can make an application, and its not like its a waste of time there are almost 60million iPhone OS devices on the market, and the users have shown to be some of the most active out of all the smartphone market. What else then, ohh sites that are only made in flash, well thats stupid because its not just the iphone that doesnt do flash its EVERY smartphone on the market, so whoever made that site without having a mobile version is totally missing out on the oppurtunity to have people access it from their mobile phones. Also flash sites arent searchable or indexable.

Ok so that was more of a anti-flash rant than a "quick note" but it gets my point accross. Now for my updated list:

This post saved me so much time. Me and the other developers could not figure out what was going on, and the posted solutions is one of the last things I would've thought to do. So please go visit that link and readup on the solution

One thing to note is that if you need to specify more than one AAM in the registry entry, seperate them using a new line (carriage return)

02/22/2010

Getting an SPWeb object can be done in a bunch of different ways, and it depends on whether or not your code is running in a sharepoint context. If you are in a sharepoint context, you dont need to use the 'using' statements, in my experience you only need to use those if you are not in a sharepoint context.

Here is some code we use to get SPWeb objects. At first we were doing it a different way, but after exhaustive testing and running into multiple bugs that stemmed from the way we got spwebs in the past, we think weve got a solution that should work for most configurations.

Inside a sharepoint context:

/// <summary>

/// Gets a SharePoint web site object from its Guid

/// </summary>

/// <param name="guid"></param>

/// <returns></returns>

public static SPWeb getSPWeb(Guid guid)

{

SPWeb web = GetSPWebCollectionFromCurrentSite()[guid]; // don't want to return this spweb since it has admin privileges

return getRootSPSite().OpenWeb(web.ID);

}

public static SPSite getRootSPSite()

{

return SPContext.Current.Site;

}

/// <summary>

/// Gets the collection of all the sites in the site collection.

/// </summary>

/// <param name="site">A SharePoint site collection</param>

/// <returns>The collection of all the sites in the site collection</returns>

public static SPWebCollection GetSPWebCollectionFromSite(SPSite site)

{

SPUserToken token = site.SystemAccount.UserToken;

SPSite elevatedSiteCollection = new SPSite(site.ID, token);

return elevatedSiteCollection.AllWebs;

}

/// <summary>

/// Gets the collection of all the sites in the current site collection (so this is context specific).

/// </summary>

/// <returns> Collection of all the sites in the current site collection</returns>

public static SPWebCollection GetSPWebCollectionFromCurrentSite()

{

return GetSPWebCollectionFromSite(SPContext.Current.Site);

}

Im now just noticing that we dont check against current user permissions, but so far from our testing this hasnt been a problem.

If you are outside of the SPContext then use this stuff instead. This assumes that you can get the URL for the site, or whatever resource you are trying to access. In our case we are trying to get at a file, so if you pass in the full url of the file, it will pick the correct spsite for you.

02/05/2010

So here at work im blessed to have some AWESOME monitors to work with. Ive got two 24" Dell monitors that pump out an amazing 1920x1200 screen resolution. Basically top of the line. Up until recently I had them in standard landscape mode side by side, but these monitors are so huge that It didn't really make sense to have them stretching so far across my desk, i would have to turn my head to look at the other monitor.

So recently i decided to flip my monitors into portrait mode, since all i do is code all day the added height that im getting in my IDE is making work go alot faster. I would definitely recommend doing this if you have the right type of monitor (they prolly need to swivel).

So after i switched them up i was having trouble finding a desktop background to run at such a high resolution for dual monitors. I think that the hubble shots make great backgrounds so i got a high res photo and cropped it down into two separate 1200x1920 image files.

BTW: If you are in need of high res dual or triple monitor desktop backgrounds there is a great website mandolux that has an incredibly amount of desktop backgrounds. Usually each one is available in every resolution configuration so its a great one stop place to go for all your dual and triple monitor desktop background needs.