Murtaza Fazal's Blog

Murtaza Fazal's Blog
Murtaza Fazal's Blog

Friday, January 11, 2013

10 reasons Windows 8 will be painful for developers

By 

Ever since the release of the Windows 8 Developer Preview, people have had a lot to say about the experience of playing with the new OS. But few folks are talking about the changes it represents for developers. Windows 8 is the biggest update to the Windows development model since the move from Windows 3.X to Windows 95. While there are lots of good things, there are also a lot of pain points. If you are looking to develop Windows 8 native applications with the new UI and WinRT API, be careful of these 10 thing


1: Market reboot

If you want your applications to be fully compatible with Windows 8 (including running on ARM CPUs), you’ll need to do a full rewrite in Windows 8/WinRT. This may be great for developers looking to break into markets with established players. But if you are the established player, you are suddenly back at square one.

2: The asynchronous model

Windows 8 development is highly dependent upon asynchronous operations for anything that is long running. While that may be a cute trick in some scenarios, it is downright frustrating in others (like trying to download a file). It isn’t just the work needed to handle the async call; it’s things like error handling and reporting problems back to the user. It requires a whole new approach to the UI from what developers (especially WinForms developers) are used to.

3: Lack of direct disk access

Windows 8 cuts off direct access to the system in quite a few ways, but the one that will hurt typical developers the most is the lack of disk access. Windows 8 follows an extreme isolation model for applications, and if your application requires access to data outside its own confined little world (including networked services you can access), you can forget about porting it to Windows 8.

4: Touch UI paradigm

Unless you have been writing a lot of mobile apps, shifting to the new UI style, which is designed for touch interaction, is going to pretty tough. It took me a long time to get a feel for what works well and what doesn’t. To make things more difficult, what looks and works well on a screen using a mouse and keyboard can be a poor experience with touch, and things that work well with touch often are a struggle to use on the screen. It’s a tricky balancing act, and as the uproar over the new UI in Windows 8 shows, even Microsoft is struggling to get it right despite having had a few years of experience with it.

5: Playing by Microsoft’s app store rules

If you want to be using the Microsoft app store, you will need to learn to play by its rules. While the rules are fairly reasonable, it will be a jarring experience if it is anything like the WP7 App Hub. For starters, Microsoft rigorously inspects the application and looks for all sorts of things, like unhandled exceptions and circular UI paths. Although this ensures a high quality app, it can be a surprise to developers. In addition, you need to work with an approval process. The details of the Microsoft application store are still under wraps, but recent experience with WP7 suggests that it won’t be fun.

6: Heavy emphasis on cloud

While there is no mandate to use the cloud, Web services, and other off-premise techniques and technologies, it is most definitely encouraged. Things like automatic syncing of settings and data between devices (regardless of how it is done) will become the rule, not the exception, and users will be expecting it. Windows 8 makes this easy (you can have your locally saved information synced automatically with Live), but you will want to be judicious about how you do it for sensitive data. Encryption and other privacy and security techniques will become more important than ever.

7: Shift to “contracts” and “interfaces” for interop

One unique aspect of the Windows 8 paradigm is the idea that applications can provide services to the OS (such as acting as a source of contacts or pictures), as opposed to just dumping the data into a common directory. This allows all sorts of sweet application concepts. But even though this is easy at the technical level, it’s difficult to figure out how to leverage at the conceptual level.

8: Market uncertainty

Now we get into the more high-level pains. Microsoft is clearly pushing Windows 8 for tablets and maybe even phones. Right now, we’re seeing Android struggle in the tablet space, and at the same time, the new Windows 8 UI has been heavily panned by people who have tried the preview versions.  Will the market adopt Windows 8 or reject it?  Will the tablet market for Windows 8 take off? These are all questions that won’t be answered until it is far too late to be a first mover in the market. If you are going to bet on Windows 8, you simply can’t properly assess the risks right now.

9: Lack of tablet hardware

For developers, not having tablets to try Windows 8 on has been a major problem. Yes, we’ve seen some tablets on Web sites, but not in person. Some (like the Lenovo Twist and some of the Samsung slates) resemble current devices enough that you can use what amounts to their predecessors to test. Others (especially the ARM devices) are just too different from existing products to allow a comparison, so you have to wait until October 26 to get an idea of what they are like on real hardware.
There has been no good way to get an idea of what the user experience will be like for your applications on those tablets. Not just in terms of the UI either, but of performance. Can the tablet CPUs run your app well? Is it too “chatty” for a device on a cellular connection? Are you using more storage than makes sense for the typical tablet we’ll see? Without a few tablet models easily available, we don’t know the answers here.

10: The trail of dead tech

This is the one that really breaks my heart. Microsoft has a history of pushing a technology as “the next big thing” and then leaving it dying on the vine a few years later. We don’t know if Microsoft will back off its Windows 8 strategy before launch, right after launch (Kin), or a few years down the road (Zune, Silverlight). If the new Windows 8 paradigm is not a success, Microsoft may very well change course in a way that renders all your hard work on Windows 8 native applications a waste of time.

Friday, May 11, 2012

Sql : Highest Marks in Each Course

Interviews are like short refresher courses where you learn different things and its a good habit to retry the questions which you could not answer on the spot.

One of the interesting queries (SQL) i found during one of the interviews was this one which looked so simply but it required little bit of brain storming.

Task : You have 3 tables (Student {StdId, Name}, Course{CourseId,CourseName}, Marks{StdId,CourseId, Marks}) . Select highest scores from each course with course name and student name.

Query :

SELECT C.CourseName,S.Name,M.Marks
FROM
  (
   select courseid,max(marks) as Marks from marks
   group by courseid
  ) tmp
INNER JOIN Marks M ON tmp.CourseId = M.CourseId AND tmp.Marks = M.Marks
INNER JOIN Course C ON C.CourseId = M.CourseId
INNER JOIN Student S ON S.StdId = M.StdId
ORDER BY M.CourseId

Wednesday, August 17, 2011

MagicJack Issue

If you are facing issues with MagicJack; like the software keeps on loading then the splash screen disappears then make sure the following things are done :
  1. If you are running skype , close skype first then run MagicJack and if MagicJack's dailing screen appears, then you can turn skype back on . Basically skype is using the same port so if you try running MagicJack after skype , it cannot access that port.
  2. If you are still facing the issue then try deleting the folder
    For Windows 7 Users :
       C:\Users\User Name\AppData\Roaming\mjusbsp
  3. The newer update of magicJack was having issues (if you had previous one installed on your system) so if you weren't able to run MagicJack with the above steps then after completing first 2 steps , plug-in MagicJack again and after it has installed and created the folder mentioned in step 2 , run upgrade.exe (the file may be hidden so allow hidden files and folder).
  4. Enjoy MagicJack :)

Tuesday, July 12, 2011

Windows Phone 7.5 Mango Preview


 
Last week Microsoft presented me with a Samsung Focus smartphone that was running a recent pre-release build of Windows Phone 7.5 “Mango.” Mango is the version of the OS that will replace Windows Phone 7, which launched last year.

Windows Phone Mango brings many new things to Microsoft-powered smartphones, as you can see in the video below. From a messaging perspective, you’ll find combined email inboxes, an improved messaging system that lets users switch between text, IM, and Facebook chat on the fly, and new integration of Twitter and LinkedIn into the social aspects of the People app. In this pre-release build I was testing, Twitter and LinkedIn support were missing.

Many other updates are found in the People app, including new group support for mass messaging and email as well as targeted social networking feeds. New check-in support has been added to the phone so that it is now easy to check-in at a restaurant or an event, and social networking photos (with face tagging) are also available within the People app. The Calendar has been updated to includes tasks from Exchange accounts and appointments from Facebook. I’ll reserve final judgement for all of the new social features until after the final product ships, but so far, at least, Microsoft appears to be moving in the right direction.





Search has been extended all around with special handling of movies, products, and places. A new visual search tool can be used to identify items or read bar codes – or even translate text into different languages (think menus). Local Scout makes it easy to find nearby places to go for food, shopping, or entertainment. I’ve always been a fan of Bing, loving its clean look and organized content. Now things are even better.

The new, and much-hyped, task switching and multitasking features are very nice to have, and I’m looking forward to seeing new apps that take advantage of the background audio system and various other APIs that are being made available to developers. Users won’t have access to pure multitasking in the Android sense, but what Microsoft is offering with Mango appears to be a step beyond what Apple offers in iOS. And that’s more than enough multitasking for countless millions of consumers, if Apple’s sales figures indicate anything.

Microsoft has really been touting the Internet Explorer 9 integration in Mango, with its HTML5 support, but users are also going to love the Smart DJ playlists that the Zune player can create, and gamers will approve of the 3D avatar support and Xbox Live messaging that has been added to the Games Hub. IE9 sounds great in theory, but I’m still not convinced that what we get from it is on par with the WebKit browsers offered by Android, iOS, and webOS. It’s good (and very fast), but in a different way that just doesn’t seem quite has handy on a mobile phone.

While Windows Phone will still not suit every potential smartphone user out there, I feel that the changes Microsoft has put into Mango go a long way towards filling any gaps that existed in the initial release of Windows Phone 7. The best part is that while Mango catches up with the other major smartphone operating systems, it still manages to remain true to itself. It’s different, to be sure, but Microsoft’s OS is beautiful, fast, and powerful as well.

You can get a look at all of these features and more by watching the video above. The Mango release of Windows Phone is expected to show up in devices this fall.


Blog Post from : http://www.wowwindows8.com/windows-phone-7-5-mango-preview/

Friday, July 8, 2011

Windows Phone 7.1 (Mango) and VMWare 7.1

Hey , i was just planning to run Mac on VMWARE ware and to run this newer version of MAC image , i had to uninstall VMWARE 6.5 and install 7.1 and patch it to run this LION version but , thnx to my PC's configuration i couldn't run it (due to no hardware virtualization) .

And today when i was trying to execute my windows phone application , the simulator would crash saying unvalid startup commands... Dont Panic !!! just delete VMWare 7.1 and restart your system and here u go :)

enjoy

Thursday, June 30, 2011

Vacancy for Software Support Engineer (Avanza Solutions)


Avanza Solutions is looking for a Software Support Engineer for its Software Support Department. Please review job specifications as follows:


Position: Software Support Engineer     

Requirements:

  • Academic Qualification: Graduate in Computer Science/Engineering from an accredited institution.
  • Experience: Fresh - 2 years.
  • Expectation: Must be a team player having proficiency in written & verbal communication with strong analytical & problem solving skills.

Technical Competencies (Hard Skills):

  • Ability to understand different business areas and its practices.
  • Familiarity with Development (coding)
  • Familiarity with databases preferably SQL Server or Oracle.
  • Familiarity with Networks
  • Familiar with Software Engineering concepts and life cycle.

Personal Competencies (Soft Skills):

  • Excellent written and verbal communication skills.
  • Ability to understand customer needs, co-operative and soft spoken.
  • Can work with diversified groups
  
Please send in your CV at murtaza.munawar@avanzasolutions.com

Wednesday, June 15, 2011

Alarm in Windows Phone 7.1 (Mango)

How often we want to create an application which could generate Alarm in the background and play it on the specified time? Once me and my brother were investigating this same task on iPhone and what we found was... the audio won't play for more then 40 seconds . Implementing the same thing on Windows Phone 7.1 (Mango) is piece of cake :) Just few lines of code and you are done.

I'll demonstrate how to write a simple program which plays any audio which you want :)


  1. Create a new Project
  2. Select Target Framework as 7.1
  3. In you Main.xaml.cs , include the library  "Microsoft.Phone.Scheduler".
  4. I've placed the audio file on the root , if you want you can create a folder as audio and place your file there. Then you should navigate as per your need. 
  5. Now write the following code 
    • Alarm myAlarm = new Alarm("mmfAlarmTest");   
      • // You need to specify a name for the alarm
    • myAlarm.BeginTime = DateTime.Now.AddMinutes(1);  
      • // I would like it to play after 1 minute of execution
    • myAlarm .Sound = new Uri("/toss-the-feathers.mp3",UriKind.RelativeOrAbsolute); 
      • // Remember my audio file is on the root directory?
    • ScheduledActionService.Remove("mmfAlarmTest");  
      • // Remove if there exist a similar alarm
    • ScheduledActionService.Add(myAlarm);   
      • // Register your alarm


And that's it !!! . Test it out and enjoy the fun ;) Using this, you can generate an application which sets alarm through your application