Updates from hariskhan RSS

    Mobile Development Overview..

  • Haris Khan 7:41 am on August 21, 2008 Comments

    Mobile space is the next paradigm of computing where more and more mobile devices are getting the computational power to now host interactive native applications. Offcourse iPhone has taken a giant leap but now other devices are also catching up. Recently we spent sometime to figure out which development environment will be best suited for new generation of mobile applications. In this report we have not covered FlashLite and iPhone.  As a result we produced a technical discovery document to explore different mobile application development environments and how one can go about it. Below is the report and you can also download the pdf version of report.

    This report was created by : Abdul Wadood, Atifa Nadeem, Naima Khan and Haris Khan.

    Overview:

    Mobile application depends heavily on the exact requirements. Our basic assumptions are stated in the section 3. Based on the basic requirement to create a very generic mobile application following are the three approaches in the order of our preference:

    • Considering the basic and generic requirements Java ME is the ideal development platform. We can adopt different approaches within Java ME to reduce the development effort to make the application ready for all possible platforms and devices. Biggest drawback for this approach will be the application performance and security as this app will run on top of JVM.
    • Second approach is to create a custom Mobile Execution Environment. We will need to develop this environment for each platform with minimum interfaces/APIs as per our requirements. This will result in more effort to create such MEEs for each platform/handset but application development will be rapid. Users will require downloading our own MEE just like they need to download JVMs.
    • Finally the most stable and secure approach will be to create each application in platform’s native language. This will be requiring substantial effort but application’s performance will be at its best.

    Development Platforms/Technologies

    In this section we have briefly explained how each development platform will be used across different handsets and OS for basic features.

    1)- Java ME (formerly, J2ME)

    Introduction / Development Approach:

    • Java ME Platform represents the only true open solution for building mobile applications for the industry. The technology allows portability of applications between platforms and investments are kept to a minimum through the possibility of reuse.
    • The Java ME technology is based on three elements:

    a- A configuration provides the most basic set of libraries and virtual machine capabilities for a broad range of devices.
    b- A profile is a set of APIs that support a narrower range of devices.
    c- An optional package is a set of technology-specific APIs.

    Deployment Approach:


    To be MIDP 2.0-compliant, devices must support OTA provisioning. The easiest way to package MIDlets for wireless installation is to use the J2ME Wireless Toolkit, which incorporates a small provisioning server that emulates a production OTA environment. Available in version 2.0 Beta 2 and later versions of the toolkit, this nice feature enables you to get an idea of whether a server will provision a device with your application successfully without the hassle of setting up and configuring a local web server to act as an OTA server. Some MIDP 2.0 features – like the push registry – are available only to applications downloaded via OTA. If your application uses those features, the built-in OTA server is a critical tool of the development process.

    Features:

    PUSH

    The MIDP includes a feature called “PUSH Registry” to push data from server to mobile devices, without the interaction of user. The MIDlet registers a port along with the protocol name in the mobile device. From the server, a message is sent to the specific mobile device using the particular protocol and port where the MIDlet application is registered to listen. After the message is delivered to the mobile device, the AMS calls the MIDlet application. Once the message is delivered to the MIDlet, it is the application’s responsibility to process the message accordingly.

    SMS Integration

    • The Wireless Messaging API (WMA) is an optional package for J2ME that provides platform-independent access to wireless communication resources like Short Message Service (SMS). WMA can be used on top of CLDC and MIDP.
    • There are many third party APIs available for SMS integration in Java ME applications. Some examples are Java SMS library from new-phone.com, SMS JDK from NCL Technologies Ltd, jSMS from objectXP, etc.

    Data Synchronization:

    • Recently released, Sun’s Mobile Enterprise Platform (MEP), provides two-way data synchronization with security, device management and off-line access features for enterprises. It can integrate data from a wide range of back end applications.
    • A third party API, Sync4j is an open source initiative to deliver a complete mobile application platform implementing the SyncML protocol. SyncML defines a standard way to synchronize data and remotely manage devices. Sync4j provides SyncML client APIs (J2SE, J2ME and C++) that you can use to build an application.

    Devices and Platforms:

    Motorola:

    • MOTOMAGX, Motorola’s next-generation Mobile Linux®, supports three different application environment– Java ME, Web UI and native Linux
    • MOTODEV Studio for Java ME, Motorola’s robust toolset for developer innovation currently supports the Java ME application environment on many Motorola handsets and wireless modules

    Nokia:

    • Nokia phones have an extensive Java ME API set
    • Nokia provides support for the industry’s leading open-source Java™ IDEs: NetBeans and Eclipse. Both IDEs offer robust tools that make it easy to create high-quality Java applications efficiently

    Blackberry:

    • Many new Blackberry devices support the Java 2 Platform, Micro Edition (J2ME), primarily because Java technology makes developing applications so much easier. Its platform-independence eliminates many porting woes and its automatic garbage collection lets developers concentrate on application logic rather than memory management
    • In addition to Java-based handhelds, RIM offers a BlackBerry Development Environment for J2ME

    Samsung:

    • Some Samsung handsets give errors for J2ME (user experience). Some users have reported errors like Samsung not suitable for J2ME game developers, slow emulator, Java apps can only be loaded via OTA, giving “Unsupported content error” on Samsung F490 phone

    LiMO:

    • LiMO application developers will be able to use SDKs to write managed code running in a Java virtual machine, browser apps for WebKit, and native code.

    S60:

    • It supports Java (J2ME MIDP 2.0 commonly, but varies from phone to phone) applications and Symbian C++ applications.

    Wireless Providers:

    Verizon

    • Verizon Wireless doesn’t offer J2ME support on their phones. Instead, it uses BREW but one can run J2ME applications via BREW-Authored KVM but still it is not that simple

    T-Mobile

    • Users are able to download J2ME apps (JAD+JAR) if they have an offline app, like a standalone mobile game but if the app requires an internet connection the users will be able to access internet if and only if:
    • The application was signed with a T-Mobile certificate, or
    • The user has a $20 “total internet” plan instead of the regular $6 T-Zones one, or
    • The handset was not bought through T-Mobile

    In short, if you are aiming for a mass-market consumer application and not just one targeted at business users or tech-savvy users, your hands are pretty much tied. The only way to achieve that goal is to go on-deck with T-Mobile

    AT&T

    • AT&T appears to be a little less strict than T-Mobile. You can download J2ME applications from anywhere, other applications that want to use socket communication, access to the file system, address book and messaging (SMS/MMS) will probably be blocked

    2)- BREW

    Introduction/ Development Approach

    • BREW is a software platform that can download and run small programs for playing games, sending messages, sharing photos, etc.
    • Using BREW, you can easily port your applications between all Qualcomm devices.
    • BREW applications can be written using Java™, C, or C++.
    • Unlike the Java ME platform where any developer can upload and execute software on any supported handset, BREW applications must be digitally signed
    • The BREW developer community is fairly small and limited to Qualcomm’s boards and web sites.
    • BREW code can only be compressed if you devise your own method or buy a commercial solution.

    Deployment Approach

    • Compile for the specific BREW version available on the handset.
    • Installer Packaging Options: OTA

    Features

    • PUSH:

    Brew compatible mobile phones can get push based sms/email on the Alltel’s network

    • SMS Integration:

    Interfaces like ISMS, ISMSMsg, ISMSNotifier, and ISMSStorage are there to handle SMS integration for BREW applications.

    • Data Synchronization:

    Open Mobile Alliance for Data Synchronization and Device Management.

    • Devices and Platforms

    The BREW platform is pre-integrated into the MSM™ chip software and includes reference implementations for many other device-specific issues (drivers and UI). All the mobile vendors doesn’t provide with MSM™ chip. So, we have very limited number of mobiles by default for running BREW application.

    Wireless Providers

    Every mobile vendor is supposed to provide handset with the support of BREW for different wireless providers.

    3)- Windows Mobile

    Introduction/ Development Approach

    • Windows Mobile is an operating system for mobile devices, based on Microsoft Win32 API.
    • Devices that run Windows Mobile include Pocket PCs, Smartphones, Portable Media Centers, etc.
    • For application development there are different options available, including:
    • Writing native code with Visual C++
    • Writing Managed code that works with the .NET Compact Framework
    • Developing an application using Java Me. There is a limitation if you develop an application in Java ME for Windows Mobile platform. Sun doesn’t officially support windows mobile devices and Sun hasn’t released an official JVM for pocket PC’s so you must go to a third party solution if you intend to use Java ME on Windows Mobile platform.

    Deployment Approach

    Windows Mobile-based Smartphones and Windows Mobile-based Pocket PCs (Phone Edition) can be bootstrapped by means of over-the-air (OTA) Wireless Application Protocol (WAP) push. This method is useful if the mobile operator prefers to bootstrap the device over the air at the point of sale or after purchase. In this method, a provisioning document that uses the format defined in the WAP Provisioning specifications can be pushed to the device over the air through the WAP connectionless non-secure push mechanism over the Mobile Terminated Short Message Service (SMS) bearer.

    Features

    • PUSH

    The “Direct Push Technology” from Microsoft uses Exchange ActiveSync to keep data on a Windows Mobile based device synchronized with data on a Microsoft Exchange server. The ActiveSync technology on the device manages the direct push communication with Exchange Server. It establishes an HTTP connection with the server for a specified time, and then goes to sleep while waiting for the server to respond. The server responds with either a status indicating that new items were received or that no new items arrived. The device then sends either a synchronization request or another direct push request. Exchange Server 2003 Service Pack 2 includes a direct push component that augments the Exchange ActiveSync infrastructure that supports synchronization.

    • SMS Integration

    .Net Compact Framework provides different DLLs for SMS integrations (Microsoft.WindowsMobile.dll, Microsoft.WindowsMobile.PocketOutlook.dll). Using these DLLs you can integrate SMS Send and Receive functionality as well as SMS filtering support in your mobile application.

    • Data Synchronization

    Exchange Server 2003 is used to synchronize data using ActiveSync. It uses OTA for Installer Packaging.

    • Devices and Platforms

    Nokia & Sony Ericsson
    Net60 is an implementation from Red Filve Labs to bring .Net Compact Framework applications unchanged, to Symbian platform (the OS running the Nokia and Sony Ericsson Smartphones).

    Wireless Providers

    Most of the carriers have handsets with Windows Mobile.

    If you have any queries please feel free to contact me at haris[dot]khan[at]zigron[dot]com

    Download the report

Technology + Transparency = Helps you hire better

  • Haris Khan 10:39 pm on July 26, 2008 Comments

    PingMyCompany.com was started with a pure and simple intention to gather more data about ourself as a firm and know about others too. I have explained it before and Rashid also shared his development story

    Now after 3 months since its launch I have witnessed a change which I was hoping to happen but didnt expected to happen so quickly. Before PingMyCompany’s launch people hardly knew about Zigron and what it does. It was very hard for us to get the talent which was a right fit. Yes we had our portfolio out in public but it was hard to attract potential hires as they were never the target individuals for those projects.

    Now during interviews when I ask potential candidates what they know about Zigron and the first thing they say is “PingMyCompany”. 

    PMC has not only helped us get our name out but most importantly it has helped us attract the right talent. We were getting alot of resumes but most of them didnt really matched our needs but after PMC the quality of resumes have improved dramatically. We are still getting the same number of resumes but now we are getting individuals who really understand what we do and how they can be part of it.

    So the take away from all this is that companies need to create more engaging experiences for their future hires through technology and transparency. There has never been a better time to do this as technology to build such experiences and means to reach out has never been so cost effective ever in the history of mankind.

    Considering all this we are working on upgrading PingMyCompany.com to create more engaging experience, so stay tuned via PMC blog and twitter feed.

    Please feel to share your own ideas on how firms can create such experiences in different fields to attract top and most importantly the right talent.

  • Wherever.Tv is launched and brings international tv to you…

  • Haris Khan 3:03 pm on July 10, 2008 Comments

    Wherever.tv was launched yesterday in SINO Consumer Electronics Show, China. It recieved great reception from both conference attendees and press. It was covered on Forbes.com , Engadget.com , PittsburghLive.com and Examiner.com

    Wherever.tv is a sleek new device that delivers hundreds of international TV channels straight to your television instantly over a broadband internet connection. You can learn more at their site.

    Wherever.tv is one of Zigron’s Inc startup based in Pittsburgh,PA

     

  • User Xperience + Technology + Real World

  • Haris Khan 11:32 pm on July 1, 2008 Comments
    Tags: ATM, Technology, UI, User Experience,

    For some time I have noticed that in blogosphere, User Xperience has mostly been associated with Web 2.0 companies and hardware devices, well actually only one hardware i.e iPhone. So I decided to go out and see where I can find innovation in UX apart from the web.

    On this great adventure the first experience I stumbled across was Bank Of America’s ATM on Van Ness street in San Francisco. I had this old check, which I was planning to deposit for sometime, but hesitated because my last experience with Chase’s ATM in Chicago to deposit a check was very clumsy. One had to seal the check in an envelope, which the machine will vent out and then write the amount and your account info on top of it. One also has to feed in the check amount. Usually I don’t have a pen with me so it was another embarrassing moment and interestingly most ATM machines have a slanting face which makes it even harder to use it as base to write on it.

    Anyway this time around, when I was expecting the ATM to throw an empty envelope out, it just asked me to slide the check in a slot which had a blinking light. For a moment I was taken a back and didnt know what to do but the ATM kept beeping. After gaining some intelligence I decided to slide the check in and said to myself that worst come to worst I will just lose it as it wasn’t that big of an amount. It was from a friend who owed me some grocery money, luckily she wasn’t that hungry while grocery shopping.

    Eager to see what will happen, the ATM showed me the scanned copy of my check with the exact amount to two decimal points. It had scanned it on the fly and by using some recognition software had understood my friends handwritten amount to the exact amount. While I was still star struck and excited with the experience, I had my receipt in my hand with a scanned printout of the actual check I just deposited.

    Now I call this a true user experience. Next time I will make a video of it. So feel free to send me some checks and please feel free to be liberal with the amount :-)

  • PingMyCompany reviewed by Mashable

  • Haris Khan 2:11 am on June 5, 2008 Comments

    PingMyCompany is a Zigron Inc product. It was recently featured on Mashable.com. You can read the post here.

  • HR: Behind the scene action…

  • Haris Khan 8:49 am on May 31, 2008 Comments
    Tags: HR

    This blog post covers the behind the scene action for any resource we plan to hire. For this I conducted an internal survey with few of the individuals who actively participate in selecting new hires for Zigron as we need to make sure that our vision is in aligned with what our team practices.

    First I need to share what is Zigron’s philosophy behind hiring. Our main goal is to find resources who are truly excited about the job they are about to take in our firm. We as a firm don’t want to or try to dictate what each individual should love. All we prefer is that they should be excited and passionate about something (we will prefer that’s their new job).

    Now the trick is how do you select a resource and to be honest there is no simple answer. We at Zigron conduct quite few interviews. They range from simple HR to few technical rounds and then finally to the ultimate gut checking session. I will try to sum up few of the key characteristics we look for and how we come to a conclusion.

    Note: Most of these conclusions are based on the internal survey.

    How do we select a resume ?

    As expected “Skill Set” and “Experience” turns out to be the top reasons for any resume selection.

    (My View) I personally look for something unusual and out-of-box elements. It can be a strange hobby or a part-time work experience.

    How do we assess “skills” ?

    This is always a tricky one but one thing which struck me out from our survey was the level of importance which is given to how someone communicates their skill set.
    Few prefer to gauge by assessing the basic understandings of the skills they have written down or by giving them a hands on problem to solve. One approach I liked was as follow:

    “Asking first about the strength of candidate, then some questions from that area and taking him towards the weak side to measure the variance”

    (My View) I personally prefer any hands on real life situation and see what solution they can recommend. So if it’s a User Experience position then I will ask them to rank Zigron’s work and how they can make it better.

    Ratio of structured vs. non-structured questions ?

    60% structured and 40% un-structured .
    The interesting point is that within Zigron we don’t have any company defined structured questions so I really don’t know from where we are getting these questions ?

    (My View) I have about 20% pet questions and the rest are all based on the discussion I am having with the individual. One of my favorite questions is “Which are the top 2 firms you want to join and why didn’t you get in there yet?”

    How we analyze the candidate and select one ?

    For analyzing the best tool is to put the candidates in different scenarios and then judge their response. This tool seems to be hot favorite among Zigron team. Part of this approach is to ask very tough questions to see how one reacts to them even though we don’t expect them to know the answers.
    When it comes to selection criteria there is no single winner. “Potential/energy” is a must but with it a resource should have “skills” to utilize their energy to efficient use. “Out of box” thinking is also appreciated but again does one have the smartness to deliver it.

    (My View) For me one the biggest selection criteria is that how honest the individual is to him or herself. Does he really know his/her strengths? Is he really passionate about something or is he just fooling oneself.

    At the end I will like to give a single suggestion to all who plan to apply for a job anywhere in any firm. Please be true to yourself and just follow your own passion proudly.

    Good luck you all.

  • PingMyCompany.com is launched

  • Haris Khan 7:34 pm on May 8, 2008 Comments

    After reading some really interesting comments on a post about Zigron Inc on Green & White blog I decided that we need a site where people can share their positive and negative opinions about different firms.

    So as a fun project we decided to create PingMyCompany.com. Its a simple project where users can add different companies and give comments in favor or against different companies. Its more like theFunded.com for companies.

    Please feel free to give us your suggestions as comments to make this site more fun and interesting.

    Update: PingMyCompany.com is having accessibility issues thanks to GoDaddy.com please access it at PingMyCompany.net

    Update: Got reviewed on Green & White blog. You can read it here.

  • Wherever.TV on Pop City…

  • Haris Khan 9:13 pm on May 7, 2008 Comments

    WherevetTV recently got a post on Pop City Media. You can read the post at here.

  • Startup School 2008

  • Haris Khan 7:56 am on April 20, 2008 Comments
    Tags: startup school, Techcrunch, Y Combinator

    fetchphp.gif

    Today I had the great pleasure of attending Startup School 2008. It’s a brain child of Y Combinator which invests into young startups by students/hackers to come up with really cool ideas. Its like summer camp for startups. It was a day long event and following are few key highlights:

    Later, I got the chance to meet Mike Arrington in person and to be honest I was expecting he be hard to impress/get through. Well I was right but what I learned that he does genuinely love startups as he quoted earlier. I just introduced him about Zigron and how we are working with startup with our offshore office . This got him some what excited and he asked me to contact him later to meet up. I didnt expected that he will be interested in anything beside killer products but he did prove my assumption wrong and listened to me very carefully. Though in a second I tried to be a smart ass and gave an impression that I didnt approached him for PR to which he got back to me instantly and said “you do want f***ing business with me”… which is true :-) Anyway lets see how it goes.

    Overall it was a great experience to see what makes Silicon Valley so special.

    Update: You can see 37Signal’s David Heinemeier presentation notes here and corridor discussion here.

  • ad:Tech SF – Day # 2

  • Haris Khan 8:38 am on April 17, 2008 Comments
    Tags:

    The first round table discussion was on “State of Industry”. I didn’t get to learn anything new except US market is now waking up to the fact that SMS does hold alot of promise and it should be properly utilized. They need to travel to Asia more often!

    The second discussion was “Teens Know it Better”. For this they had brought in few young teens and they were asked different questions.Following are few facts which were really interesting: