Tags: | Categories: Blog Posted by admin on 4/18/2010 6:24 PM | Comments (1)

sl4bloglogo_0DE0BF1F[1]

Silvertlight 4 got release this week and with that blogs and social media got a fantastic coverage of the details, hopefully I got the ones that will help you to get started fast.

Step 1: Install VS2010 unless you want to keep using the WP7 SDK to write applications, the new release does not include the beta of Windows Phone 7.

http://www.microsoft.com/visualstudio/en-us/download

Step 1.5: If you developing apps for Window Phone 7 check this link for the information.

Step 2: Make sure your customers have the correct runtime. This is important, when you are writing application with your new shiny VS2010 make sure that the upgraded apps request the correct version of the runtime.

http://www.microsoft.com/silverlight/

Really this is about all. I am sure you already spent your time using VS2010 Beta and then RC, so you know about the new look and feel, yet things didn’t change much besides a very cross platform IDE. Upgrading from Silverlight 3 to Silverlight 4 and then downgrading again is so simple. And remember, you can now use the new .NET 4! Huge bonus.

Need to learn more?

Jesse Liberty as always has the best tutorials: http://www.silverlight.net/learn/tutorials/

Seriously before you purchase any book, read his tutorials about SL4, nobody explains it better or knows more details.

http://www.silverlight.net/getstarted/devices/windows-phone/

http://www.silverlight.net/getstarted/ To download SL 4 and SDK for developers

I recommend to install VS2010 and upgrade your solution file from VS2008 to VS2010, as is cross platform, you’ll still can work in .NET 3.5 and Silverlight 3 without any issues.

A few things: If you have been using VS2003, VS2005 and VS2008 the look and feel will be a little hard to get used at the beginning. Also I would recommend a powerful computer to run the new Visual Studio 2010, looks like that IDE takes more resources that the predecessor. 

Good luck and have fun!

Cheers

Al

Follow me in twitter.



Tags: | Categories: Blog Posted by admin on 4/9/2010 6:40 AM | Comments (2)

Finally Apple decided to add multitasking to the iPhone to compete with all the new devices coming up and existing.

At an Apple press event, CEO Steve Jobs announces multitasking support in the newest iPhone operating system. Users will finally be able to switch back and forth between applications like Pandora and Skype without having to shut down the app entirely to enter a new one.

Their excuse to not bringing multitasking until now is they were waiting to make multitasking right.

New features on the iPhone 4.0 are:

  • Multitasking with background services
    • Audio
    • VoIP
    • Location (GPS, Cell location)
    • Push Notification.
    • Local notification.
    • Task completion.
  • Folders to organize your apps better with side to side and now with folders in and out.
  • Email improvements
    • One Inbox for all your mail, if you don’t like that like me, you still can access individual mail accounts
    • Theard mail like Gmail for all your accounts.
    • Attachments for third-aprty apps.
  • iBooks like the iPad.
  • Bluetooth keyboard support.

3G and 3GS iPhone will be able to upgrade to OS 4.0. However my biggest fear is that will make the 3G iPhone a horrible experience. Already iPhone 3G owners are complaining about the slow experience of the iPhone 3G with OS 3.0, that OS was created for the iPhone 3GS that is much faster, the iPhone OS 4.0 was created for the iPad that has twice the memory and better CPU.

My recommendation to iPhone 3G users is to do not upgrade to 4.0. We should also expect to see new hardware for the iPhone coming up this summer with the release to support the OS 4.0.

A summer release, yet the iPhone OS 4.0 specific date of release hasn’t been confirm.

Video of the event can be found here:

http://events.apple.com.edgesuite.net/1004fk8d5gt/event/

Cheers

Al



Tags: | Categories: Blog Posted by admin on 4/9/2010 2:15 AM | Comments (1)

Its been more than 10 years since the first DVR came out in the US, the idea that you won’t be wasting time by programming your video to record a show. Tivo was the first company to bring the idea of a hard disk to store your programs as well as the recurring shows recorded. It’s being more than 10 years since that technology advance that improved the live of many families, yet after 10 years the technology hasn’t improved much besides all cable and satellite companies provide their own device without any new features.

Many customers have spoken and asked for new improvements and features.

  • A button to skip the commercials.
    • The technology to detect commercials has been invented, a signal to skip the commercials and even better not recording those, just keep your shows as a long video without interruptions. At least, like Tivo, go back a few seconds after pressing play. We will talk why that feature hasn’t been implemented in extend. There are many reasons behind the idea of keeping the user unable to skip commercials on a DVR, the marketing companies want you to watch them!
  • Internet devices on your DVR.
    • A non brainer, now you need a device as your DVR and another box as your Internet connected device like Apple TV, your LG Blu-Ray with Netflix device, etc … Will be so simple to add a wireless N card on those devices.
  • Store your shows in the cloud.
    • Pretty much attached to the first prior statement, having an IP address, allows you to keep a copy of the show on the web, not your copy, just a bookmark the show, as many users can share the same show, so devices do not need big hard disks, you have big spaces in the web to store your shows instead of keep every show in the device hard disk.
  • Streaming your shows to your laptop, netbook, iPad, etc.
    • Have many times after coming back from vacation, you find a full DVR? And while on vacation you thought that will be nice to watch a show before going to bed? There are a few users that already using Hulu and other websites to do just that, Tivo have a few options, yet a way to just tell the device to stream it on the web will be very nice. Started seeing a few companies working in that feature.
  • Centralize.
    • One device to rule the all. This is a given and many companies already have the multi-room option, yet normally is for only two TVs instead of the whole house.

There are many arguments in all of the features above, the main and most important one is the feature to skip commercials. The market was worried that people between the ages of 14 and 45 were avoiding commercials on TV as those are the main targets as consumers, yet studies shown that the most important, expensive commercial is the first one, as they may watch and also customers watching commercials at fast speed, retain part of the information presented. Those companies, of course, are the ones behind keeping DVRs from technology to allow users skip commercials.

Now with the Internet getting faster every day, the idea that your TV comes in a coaxial cable or stream from a satellite is getting close to be old ways to deliver the Internet, FIOS brings the TV using the Internet and with that, many companies and TV makers started adding an Internet card to your TV or an external device to provide you an IP address.

Is the IP TV the future of the TV? Will all TVs come with a Ethernet port or a wireless card to plug into your home network? It seems that is the future of your TV, having IP addresses to all your TVs, means that you can share within your house all shows to any TV as well as any TV can stream any show from the Internet.

By just having your devices access to the Internet provides something that cable and satellite cannot do now, the two way communication, instead of just broadcasting the signal, now every device can send information and receive information as well, so you can interact with your provider better giving more options. On satellite, your dish normally have 1 or 2 heads, meaning can only receive one or 2 channels at the time, some new dishes have 3 heads, providing 3 channels at the time, so you might be recording 2 shows at the same time and you won’t be able to record a third one. With IP TV all your shows are not being recorded by you, the provider records all shows and store them for the amount of time that is allowed by the license, then they can before expiring or the first time you want to watch it, stream those shows to you to a centralized location where you’ll be able to stream from it.

As a IP TV provider, there are many interesting and attractive benefits on going IP TV, if they are allowed to store the shows in the cloud, they don’t have to provide big hard disks to their customers, everything becomes onDemand shows, even if 10,000 people are subscribe to record the show “The Simpsons” for example, they only need to store one copy, making their cloud solution smaller than first thought. For some reason the license to store your shows in your hard disk or keeping it on the cloud are different.

Having an IP TV will also allow you to get on demand movies, right now there are a few companies providing movies on demand avoiding late charges at Blockbuster or having to wait for the Netflix Blu-Ray DVD on the mail, how many times we forgot to send the previous in the mail. Renting the movies on Internet avoids the issue or returning and waiting, making video stores as blockbuster irrelevant. This is another case of companies and the movie industry avoiding to distribute their movies on the Web for some reason or another, making the physical DVD still necessary, even when technology has past that physical need for a DVD or even Blu-Ray disc, Internet show be the only distribution method.

My suggestion here, is if you need to buy a new TV, thing about purchasing a TV with IP enable.

Cheers

Al



Tags: | Categories: Blog Posted by admin on 4/5/2010 7:09 PM | Comments (1)

The iPad came to the market last Saturday and as always with the Apple marketing came the big lines and small tents that never seen a camp site but the Apple stores. There are the people that want one right away and want to be the first person to own the new shiny device from Apple and there are the people that are willing to wait a month for the device with 3G instead of just WiFi only. The iPad is an interesting concept, a bigger iTouch that can be used as a replacement for your Netbook, Kindle, iTouch and portable DVD. The perfect companion Apple suggests and markets.

Apple did a great job, in my modest opinion, marketing this device, yet I believe they left the casual laptop buyer behind for now, I’m willing to bet they will start targeting to the people that buys a home computer every 3 years as the best device to have around the house, many people that is not into technology does not know much about the iPad yet.

For people that purchase a computer, a laptop or desktop for the house, they only use it for the Internet and normally word processing, with the release of iWorks for the iPad, provides those consumers all the features they need and want. Email, word processing, Internet and their little games that comes with the OS. As well a easy way to purchase and install new applications without having to know much about computers. A very attractive solution, the question and problem is how is Apple going to reach that market? Expect a huge campaign to convince those customers to purchase an iPad instead of a home computer similar to the iPhone campaign.

I can also see Apple targeting those devices to schools and students as well as teachers, if they can accomplish that, convincing that there is a story and benefit for schools to go that route. I remember the days that Apple provided many free computers for schools. Still I don’t see my kids using the iPad to do their homework just yet. 

As always with Apple, you should wait for the second release of the device if you want to get more for your money, with the iPhone the first generation, came the high price of $599 and got drop to $399 after a few month. When the 3G came along, the price was $199 for a very powerful device with better battery life and 3G connection instead of Edge. Same story comes with every release of their devices. The second generation is always much better and much cheaper.

With the iPad, Apple position their price pretty low, compare on past campaigns, did Apple learn their lesson? Maybe, yet I’m expecting a price cut before the end of the year or better yet an upgrade to the device after all the users feedback is collected.

I believe an iPad with multitasking and Adobe Flash is expected. The question here is, are we going to see an upgrade on the hardware as well? Front and back camera? No doubt Apple has left many feature out of the iPad, probably due bringing it to market to do the best Apple does, see the user reaction, collect the feedback and then create the device they can sell better. Many speculations raised before the news of the iPad, the user demand for gestures was the common one. Now the iPhone 4.0 will be released on April 8th, a phone with better hardware allowing the user to do much more, hopefully coming out with multitasking, that means they already were planning that for the iPad 2.0? Apple has been working hard with their iPhone OS that runs as well in the iPad, I assume working in a multitasking version for devices with that power to compete against the Android from Google.

In my opinion, consumers should wait to buy an iPad until the iPhone 4.0 gets announce and expect that any improvements to the iPhone 4.0 will be inherit on the iPad 2.0. Right now until April 8th the features on the iPhone 4.0 is just an rumors and expectations. My guesses here for the iPhone 4.0 are:

  • A complete iPhone Operating System with multitasking that will run only in the new device, not old devices.
  • 512 MB of memory RAM instead of the 256 MB
  • A new Maps application with GPS turn by turn not based on Google Maps.
  • Better battery or at least battery life ( they always said that with any device )
  • Adobe Flash support for the Safari browser.
  • Microsoft Silverlight support for the Safari browser. ( I hope you ain’t holding your breath for that one)
  • Breaking away from AT&T and bringing 4G cheap on the new device as well as CDMA to support Verizon Wireless.

I know that I’m going to be one of the people to wait to see how things pan out with the iPad as well as the iPhone 4G, those 2 devices are well connected at Apple, the development of one, made the second possible. Apple wasn’t developing the iPad until the iPhone came out, after all the hard work they put into building a human interface operating system for a phone, they decided they will use the same OS for the tablet they always wanted to release. The success of the iPhone OS gave Steve Jobbs the perfect candidate for the development of the tablet, same OS, new hardware.

Remembering the past I was one of the people that purchased the classic iPhone for $399, not the $599 and I still got it wrong. I don’t want to make the mistake again. I’ll be waiting until this summer, not that I expect Apple to drop the price by summer yet Wife’s birthday is then and the perfect excuse for one ;-) Because I only want the best gadgets for my wife.

Cheers

Al



Tags: | Categories: Blog Posted by admin on 3/26/2010 10:57 AM | Comments (1)


Scott Guthrie started the thread of creating a Windows Phone 7 Twitter application in the Mix, followed by Miguel de Icaza creating an iPhone Twitter Client.

So I thought to extend the demo to a full Twitter client that can actually sends Tweets as well in Windows Phone 7. I created the UI for the twitter client to login and the Status Text Box.

image

I also wanted to use the location services, however the emulator does not support location just yet, always returns with data unavailable. Hopefully when the devices comes out, you’ll be able to use the GPS or the triangulation to get your location, therefore being able to send a tweet with a latitude and longitude.

The code is very simple to send a tweet, as in Silverlight we can use WebClient or HttpWebRequest, because we need to post and access to the header, we’ll use HttpWebRequest. As in Silverlight all calls are Async instead as like WPF that are sync, we’ll have to create AsyncCallBack methods to receive the information coming back from Twitter.

Finally we post the bytes with the status. Very simple and clean code.

 

Let’s looks the code:

public partial class SendTweet : UserControl
    {
        HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://twitter.com/statuses/update.xml");

        string _Message = "";
        public SendTweet()
        {
            InitializeComponent();
        }
        
        private void button1_Click(object sender, RoutedEventArgs e)
        {
            // Send a tweet
            _Message = textBox1.Text;
            PostToTwitter(textBoxUsername.Text, passwordBox1.Password);
        }

        private void PostToTwitter(string username, string password)
        {
            // encode the username/password
            string user = Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(username + ":" + password));
            // determine what we want to upload as a status
                        
            // set the method to POST
            request.Method = "POST";
            
            // set the authorization levels
            request.Headers["Authorization"] = "Basic " + user;
            request.ContentType = "application/x-www-form-urlencoded";
           
            // set up the stream
            request.BeginGetRequestStream(new AsyncCallback(RequestCallback), request);       

        }

        private void RequestCallback(IAsyncResult asyncResult)
        {
            UTF8Encoding encoding = new UTF8Encoding();

            Stream _body = request.EndGetRequestStream(asyncResult);

            byte[] formBytes = encoding.GetBytes("status=" + _Message);

            _body.Write(formBytes, 0, formBytes.Length);
            _body.Close();

            request.BeginGetResponse(new AsyncCallback(ResponseCallback), request);

        }

        private void ResponseCallback(IAsyncResult asyncResult)
        {
            // If it fails, handler it better than I
        }

Didn’t take much to do as I know Silverlight, this is the advantage for developers that want to create applications for Windows Phone 7 (WP7) no need to learn a new language like Objective-C as well as your libraries, besides UI, will work, you can just reference your dlls created in Silverlight 3 and 4 and use the functionality.

Hope this helps.

Cheers

Al

Tags: | Categories: Blog Posted by admin on 3/22/2010 2:35 PM | Comments (1)


image_thumb_7433D110[1]

Installation tips.

If Visual Studio 2010 Professional or higher is already installed on your development computer, an add-in for Visual Studio 2010 Professional is automatically installed as well.

The installation took an hour on a Windows 7 with 4 GB of RAM and rebooted the computer once. Something tells me the installer still needs some work.

image

 

Let’s Write some code

Everything installed, let’s check if Visual Studio 2008 still works with Silverlight 3 first. CHECKED!

Of course the first thing I checked is the location API, and does not work in the emulator. Also the WebBrowser control does not support Silverlight 3 when surfing the web with items in Silverlight, nor JavaScript.

I referenced a few Silverlight 4 dlls and they work without being compiled if the System.Windows.Browser.dll is references as well, you won’t be able to use any UI component from those dlls, yet the functionality will still be there!

The Location API in Windows Phone 7 does not work in the emulator, so this code will never return a geo coordinates.

 /// <summary>
        /// Helper method to start up the location data acquisition
        /// </summary>
        /// <param name="accuracy">The accuracy level </param>
        private void StartLocationService(GeoPositionAccuracy accuracy)
        {
            // Reinitialize the GeoCoordinateWatcher
            StatusTextBlock.Text = "starting, " + accuracyText;
            watcher = new GeoCoordinateWatcher(accuracy);
            watcher.MovementThreshold = 20;

            // Add event handlers for StatusChanged and PositionChanged events
            watcher.StatusChanged += new EventHandler<GeoPositionStatusChangedEventArgs>(watcher_StatusChanged);
            watcher.PositionChanged += new EventHandler<GeoPositionChangedEventArgs<GeoCoordinate>>(watcher_PositionChanged);

            // Start data acquisition
            watcher.Start(); 
        }

Using the WebClient class the way Scott Guthrie did returns this exception for some reason when making a request.

image 

The SyndicationFeed from the dll  System.ServiceModel.Syndication is not there for you to reference so you need to reference the one in Silverlight 3.0, everything works to parse the atom if you are using the search API at twitter.

image

You may also get an error to reinstall the Visual Studio 2010 for Windows Phone, just close the emulator and try again, you won’t have to reinstall it

After all those problems I had an app running!!

 private void buttonDisplay_Click(object sender, RoutedEventArgs e)
        {
            WebClient client = new WebClient();
           
            client.OpenReadCompleted += new OpenReadCompletedEventHandler(client_OpenReadCompleted);
            client.OpenReadAsync(new Uri("http://search.twitter.com/search.atom?q=" + textBoxUrl.Text));
            
        }

        void client_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e)
        {
             if (e.Error != null)
                return;

             SyndicationFeed feed = SyndicationFeed.Load(XmlReader.Create(e.Result));

             listBox1.ItemsSource = from tweet in feed.Items
                                    select new TwitterItem
                                    {
                                        ImageSource = tweet.Links[1].Uri.AbsoluteUri,                                                      
                                        Message = tweet.Title.Text,
                                        UserName = tweet.Authors[0].Name
                                    };
        }

Resources Links

http://developer.windowsphone.com/windows-phone-7-series/

http://geeks.netindonesia.net/blogs/risman/archive/2010/03/16/mix-10-windows-phone-developer-tools-ctp.aspx

http://channel9.msdn.com/posts/LauraFoy/First-Look-Windows-Phone-7-Series-Hands-on-Demo/

http://www.earthware.co.uk/blog/index.php/2010/03/writing-a-bing-maps-location-aware-application-for-windows-phone-7-series/

Tags: | Categories: Blog Posted by admin on 3/20/2010 5:44 PM | Comments (0)

Thanks to the Mix for all the content showing what is coming out with Silverlight 4. Its amazing how much work Microsoft accomplished in such a short amount of time, feels like Silverlight 3 was released a few months ago, July 2009 to be exact, and now, Silverlight 4 is almost here.

These are the new features coming out in Silverlight 4, I haven’t test them all, I have posted a few test for you, one of the most surprising yet interesting ones is the UDP listener in my opinion. I’ll be testing and blogging about it shortly.

The Drop events are a little disappointing right now, I personally think that should be anything being able to be dropped into the objects, instead of just desktop items, what about items from another browser?

The HTML WebBrowser only works when Silverlight is out of the browser in trusted mode, so you still need to use the div hack to bring HTML to the Silverlight environment.

What features coming out do you like better and which ones do you think are not fully cooked?

  • Xaml in Silverlight 4 still unmanaged code to keep performance high.
  • Elevated Trust.
  • Printing
  • Webcam/Mic
  • Rich Text & HTML Hosting
  • Input Improvements: Mouse wheel
  • Localized to 41 languages
  • RichTextBox.
    • UI Automation Text pattern.
    • Xaml property for serializing text content.
    • Left hand writing support.
  • UDP Listener
  • Automatically Adding Referer Header finally.
  • Networking
    • Socket security restrictions removal (Full Trust).
    • Accept-Language header.
    • Socket policy file retrieval via HTTP.
  • Out of Browser (Full Trust)
    • XAP signing
    • Silent install and emulation mode.
    • Not supported.
      • Opacity
      • Rotation
      • Effects
      • Overlaid content ( Silverlight content on HTML), you can use HTML brush.
    • Use an iframe for cross domain content.
  • Media
    • Pinned full-screen mode on secondary display.
    • Webcam/Mic configuration preview
    • More descriptive MediaSourceStream errors.
    • Content & Output protection updates
      • Updates to H.264 content protection (ClearNAL)
      • Digital Constraint Token
      • CGMS-A
      • Graphics card driver validation & revocation.
  • Graphics and Printing
    • HW accelerated Prespective Transforms
    • Ability to query page size and printable area.
    • Memory usage and perf improvements.
  • Parser
    • New architecture enables future innovation
    • Performance and stability improvements
    • XmlnsPrefix and XmlnsDefinition attributes
    • Support setting order-dependent properties.
  • Support for private mode browsing.
  • Updated OoB Install Experience on Mac.
  • Size < 6 MB

Do you need to run the application out of the browser to be able to run your app in elevated trust, should be a prompt to the user to run in elevated trust without running out of the browser. I cannot find any option to do so. Full trust should be out of the browser, elevated trust should be in the browser?

Cheers

Al

Resources

http://msdn.microsoft.com/en-us/library/dd772166(VS.96).aspx

http://live,visitmix.com/videos

http://timheuer.com/blog/archive/2009/11/18/whats-new-in-silverlight-4-complete-guide-new-features.aspx#printing



Tags: | Categories: Blog Posted by admin on 3/20/2010 9:56 AM | Comments (0)

With the release of Visual Studio 2010 Microsoft makes crystal clear that they are pushing Silverlight to be the platform for developers to use to write it once, run everywhere. What started as a browser plug in, has become the Microsoft standard to provide developers the tools to write and distribute their applications.

If you didn’t attend the #MIX10 like me, you still can watch all the videos, hoping Microsoft fixed the bandwidth problem, to find for yourself about the common message from Microsoft on all there platforms.

If you are developer working in Microsoft technologies, I think that is a sure bet to go ahead and learn Silverlight, no matter if you are a desktop developer or into embedded devices.

Multi-device, Rich and Reach and Industrial Strength. This are a few key points of the features for each platform.

  • WPF 4
    • Windows 7 integration
    • Improved test
    • Graphics Enhancement
    • Better Win32 Interoperability
    • Clean .NET client.
  • Silverlight 4
    • Released in middle of April
    • Media
    • Business Applications.
    • WMine for COM access.
  • Visual Studio 2010
    • WYSIWYG Design Surface
    • XAML IntelliSense Improvement.
    • Data Binding, Layout, Styles.
    • WCF RIA Service Integration.
  • Expression Blend 4
    • Sketch Flow output on Sharepoint 2010 to collect feedback.
  • Silverlight for Phone
    • Great developer platform
    • Rich user experiences
    • Monetization for developers?
    • No need to learn any other new language.

Cheers

Al



Tags: | Categories: Blog Posted by admin on 3/18/2010 7:56 PM | Comments (1)

Thursday, April 22, 2010 from 6:00 to 9:00
.NET Rocks is coming to town for the The Visual Studio 2010 launch will be hosted at ESRI. Thanks to James Johnson & Jim Barry to organize this event.

This is a huge event for the Inland Empire, Richard Campbell and Carl Franklin from the popular podcast and website, .NET Rocks.

Looks like they are bringing a guess speaker, the entity of that speaker is unknown.

ESRI2[1]

The event will be hosted and provided by ESRI, that will be providing the auditorium, drinks and snacks. The auditorium itself is amphitheater style, with the appropriate lighting, sound, projectors, large screen, and guest-access wifi.

Keep an eye on the registration page as I’m guessing the event will be pretty full as soon as people can register.

Announcement from James Johnson here.

Tags: | Categories: Blog Posted by admin on 3/12/2010 9:32 AM | Comments (0)


In 2 weeks the ESRI Developer Summit will start in Palm Springs, if you haven’t register, there is still time.

clip_image001

 

Created for Developers
by Developers

Prepare for tomorrow's challenges at the ESRI Developer Summit (DevSummit). It's the place to be for developers interested in using spatial technology in their applications.

Bring your toughest questions for the ESRI engineers and hear insightful user presentations given by your peers. Register today

Hope I’ll see you there.

Cheers

Al