Results are out! Find what you need...fast. Get quick advice or join the chat
Hey! Sign in for personalised advice on applying to uni New here? Join for free to post

UCAS Track iphone App!

Announcements Posted on
    • 2 followers
    Offline

    ReputationRep:
    If only iphones were around 3 years ago
    • 1 follower
    Offline

    ReputationRep:
    now my friends can see me fail!
    • 0 followers
    Offline

    ReputationRep:
    If you've got an iPhone, can't you just use the browser on there to use the Track site?
    • 0 followers
    Offline

    ReputationRep:
    Hi,

    I'm the developer for this application and I would like to clear up a few queries regarding this.
    1. The application is 59p to help make back the £59pa that apple charge for developers
    2. The application is only acts as an overlay over the UCAS system and only communicates with UCAS


    The application was written using a piece of software called Titanium Mobile which allows you to use javascript to write iphone applications. To show you that the app only communicates with UCAS, I have attached the source code to the login page below.

    Regards,

    Toby Hughes

    Code:
    window.onload = function()
    {
    Titanium.App.Properties.setString('cPassword','');
    // create controls
    var textInstance = Titanium.UI.createTextField({value:Titanium.App.Properties.getString('cPersonalId'),width:
    150,keyboardType:Titanium.UI.KEYBOARD_PHONE_PAD});
    var textInstance2 = Titanium.UI.createTextField({value:Titanium.App.Properties.getString('cUsername'),width:
    150});
    var textInstance3 = Titanium.UI.createTextField({value:'',width:
    150,passwordMask:true,returnKeyType:Titanium.UI.RETURNKEY_GO});
    textInstance.addEventListener('change',function(e){
    var tValue = e.value;
    tValue = tValue.replace(' ','');
    tValue = tValue.replace('-','');
    Titanium.App.Properties.setString('cPersonalId',tValue);
    });
    textInstance2.addEventListener('change',function(e){
    var tValue = e.value;
    tValue = tValue.replace(' ','');
    tValue = tValue.replace('-','');
    Titanium.App.Properties.setString('cUsername',tValue);
    });
    textInstance3.addEventListener('change',function(e){
    var tValue = e.value;
    Titanium.App.Properties.setString('cPassword',tValue);
    });
    textInstance3.addEventListener('return',function(e){
    validateTicket();
    });
    
    var b = Titanium.UI.createButton({
        systemButton:Titanium.UI.iPhone.SystemButton.ADD
    });
    //Titanium.UI.currentWindow.setRightNavButton(b);
    
    b.addEventListener('click',function(e)
    {
    validateTicket();
    });
    
    // create data array
    var inputData = [
    {title:'ID', input:textInstance},
    {title:'Username', input:textInstance2},
    {title:'Password', input:textInstance3}
    ];
    
    // create grouped section
    var inputSection = Titanium.UI.iPhone.createGroupedSection({
    header:'UCAS Track Login',
    footer:'Please do not enter dashes',
    type:'input',
    data:inputData
    });
    
    var buttonData = [
        {title:'Login'}
    ];
    
    var buttonSection = Titanium.UI.iPhone.createGroupedSection({footer:'', header:'', type:'button',data:buttonData});
    buttonSection.addEventListener('click',function(e)
    {
    validateTicket();
    });
    
    // create grouped view and add section to view
    groupedView = Titanium.UI.iPhone.createGroupedView();
    groupedView.addSection(inputSection);
    groupedView.addSection(buttonSection);
    
    // add and show view
    Titanium.UI.currentWindow.addView(groupedView);
    Titanium.UI.currentWindow.showView(groupedView);
    
    function validateTicket(){
    var uPersonalId=Titanium.App.Properties.getString('cPersonalId');
    var uUsername=Titanium.App.Properties.getString('cUsername');
    var uPassword=Titanium.App.Properties.getString('cPassword');
    var a = Titanium.UI.createAlertDialog();
    a.setTitle('Login');
    a.setButtonNames(['OK']);
    a.setMessage("appNo="+uPersonalId+"&username="+uUsername+"&appPassword="+uPassword+"&action=login"); 
    //a.show();
    
    //Now get the events data from the page
    var xhr = Titanium.Network.createHTTPClient();
    xhr.setRequestHeader("Cookie","");
    xhr.onload = function()
    {
    var a = Titanium.UI.createAlertDialog();
    a.setTitle('Login');
    a.setButtonNames(['OK']);
    a.setMessage(xhr.getResponseHeader("Content-Location")); 
    //a.show();
    Titanium.App.Properties.setString('cCookie',xhr.getResponseHeader("Set-Cookie"));
    if (xhr.getResponseHeader("Content-Location")=="http://track.ucas.com:12508/ucastrackLogin.jsp")
    {
    var a = Titanium.UI.createAlertDialog();
    a.setTitle('Login');
    a.setButtonNames(['OK']);
    a.setMessage('Invalid Login Details'); 
    a.show();
    }
    else
    {
    var win = Titanium.UI.createWindow({url: 'track.html'});
    win.open({animated:true});
    Titanium.UI.currentWindow.close();
    }
    };
    xhr.open("POST","https://track.ucas.com/ucastrack/login?ac=2427581&bc=1261433620877");
    xhr.send("appNo="+uPersonalId+"&username="+uUsername+"&appPassword="+uPassword+"&action=login");
    
    }
    
    	
    };
    • 0 followers
    Offline

    ReputationRep:
    I forgot to mention the reason I actually wrote this app! Basically, I went through UCAS already and the 'track addiction' does not stop when everyone's got their offers. On results day it is possible to view your universities decisions (i.e. and if you've met there grades, or they let you in anyway) before you collect your results.

    Furthermore, I gave apple my UCAS details when they approved the application and they check stuff to make sure that the application only communicates with UCAS as part of their application procedure to prevent malware reaching the iPhone.
    • 0 followers
    Offline

    ReputationRep:
    Need blackberry app.
    • 0 followers
    Offline

    ReputationRep:
    If only I paid for apps. :daydreaming:
    • 0 followers
    Offline

    ReputationRep:
    (Original post by binky12)
    Hi,

    I'm the developer for this application and I would like to clear up a few queries regarding this.
    1. The application is 59p to help make back the £59pa that apple charge for developers
    2. The application is only acts as an overlay over the UCAS system and only communicates with UCAS


    The application was written using a piece of software called Titanium Mobile which allows you to use javascript to write iphone applications. To show you that the app only communicates with UCAS, I have attached the source code to the login page below.

    Regards,

    Toby Hughes

    Code:
    window.onload = function()
    {
    Titanium.App.Properties.setString('cPassword','');
    // create controls
    var textInstance = Titanium.UI.createTextField({value:Titanium.App.Properties.getString('cPersonalId'),width:
    150,keyboardType:Titanium.UI.KEYBOARD_PHONE_PAD});
    var textInstance2 = Titanium.UI.createTextField({value:Titanium.App.Properties.getString('cUsername'),width:
    150});
    var textInstance3 = Titanium.UI.createTextField({value:'',width:
    150,passwordMask:true,returnKeyType:Titanium.UI.RETURNKEY_GO});
    textInstance.addEventListener('change',function(e){
    var tValue = e.value;
    tValue = tValue.replace(' ','');
    tValue = tValue.replace('-','');
    Titanium.App.Properties.setString('cPersonalId',tValue);
    });
    textInstance2.addEventListener('change',function(e){
    var tValue = e.value;
    tValue = tValue.replace(' ','');
    tValue = tValue.replace('-','');
    Titanium.App.Properties.setString('cUsername',tValue);
    });
    textInstance3.addEventListener('change',function(e){
    var tValue = e.value;
    Titanium.App.Properties.setString('cPassword',tValue);
    });
    textInstance3.addEventListener('return',function(e){
    validateTicket();
    });
    
    var b = Titanium.UI.createButton({
        systemButton:Titanium.UI.iPhone.SystemButton.ADD
    });
    //Titanium.UI.currentWindow.setRightNavButton(b);
    
    b.addEventListener('click',function(e)
    {
    validateTicket();
    });
    
    // create data array
    var inputData = [
    {title:'ID', input:textInstance},
    {title:'Username', input:textInstance2},
    {title:'Password', input:textInstance3}
    ];
    
    // create grouped section
    var inputSection = Titanium.UI.iPhone.createGroupedSection({
    header:'UCAS Track Login',
    footer:'Please do not enter dashes',
    type:'input',
    data:inputData
    });
    
    var buttonData = [
        {title:'Login'}
    ];
    
    var buttonSection = Titanium.UI.iPhone.createGroupedSection({footer:'', header:'', type:'button',data:buttonData});
    buttonSection.addEventListener('click',function(e)
    {
    validateTicket();
    });
    
    // create grouped view and add section to view
    groupedView = Titanium.UI.iPhone.createGroupedView();
    groupedView.addSection(inputSection);
    groupedView.addSection(buttonSection);
    
    // add and show view
    Titanium.UI.currentWindow.addView(groupedView);
    Titanium.UI.currentWindow.showView(groupedView);
    
    function validateTicket(){
    var uPersonalId=Titanium.App.Properties.getString('cPersonalId');
    var uUsername=Titanium.App.Properties.getString('cUsername');
    var uPassword=Titanium.App.Properties.getString('cPassword');
    var a = Titanium.UI.createAlertDialog();
    a.setTitle('Login');
    a.setButtonNames(['OK']);
    a.setMessage("appNo="+uPersonalId+"&username="+uUsername+"&appPassword="+uPassword+"&action=login"); 
    //a.show();
    
    //Now get the events data from the page
    var xhr = Titanium.Network.createHTTPClient();
    xhr.setRequestHeader("Cookie","");
    xhr.onload = function()
    {
    var a = Titanium.UI.createAlertDialog();
    a.setTitle('Login');
    a.setButtonNames(['OK']);
    a.setMessage(xhr.getResponseHeader("Content-Location")); 
    //a.show();
    Titanium.App.Properties.setString('cCookie',xhr.getResponseHeader("Set-Cookie"));
    if (xhr.getResponseHeader("Content-Location")=="http://track.ucas.com:12508/ucastrackLogin.jsp")
    {
    var a = Titanium.UI.createAlertDialog();
    a.setTitle('Login');
    a.setButtonNames(['OK']);
    a.setMessage('Invalid Login Details'); 
    a.show();
    }
    else
    {
    var win = Titanium.UI.createWindow({url: 'track.html'});
    win.open({animated:true});
    Titanium.UI.currentWindow.close();
    }
    };
    xhr.open("POST","https://track.ucas.com/ucastrack/login?ac=2427581&bc=1261433620877");
    xhr.send("appNo="+uPersonalId+"&username="+uUsername+"&appPassword="+uPassword+"&action=login");
    
    }
    
    	
    };
    (directed at you being the developer, not a person forwarding it on behalf)

    Good to know. You must accept that some people will be reluctant to put their details on an 'unofficial app'. I am an iPhone developer myself and absolutely agree with you - you need to make back the money for the SDK and you cant please everyone.

    I am sure this post of yours will calm some people down, but I am afraid many wont understand the code. Perhaps your best bet is to herald the sepulcher culture of apple with the security of its apps.

    I congratulate you for this app and all the effort you put into it.
    • 1 follower
    Offline

    ReputationRep:
    Thank god this wasn't available when I was applying.

    Another point, 59p, you'll probably save that much or more by not turning your computer on and off if you check as often as I did.
    • 0 followers
    Offline

    ReputationRep:
    Just got this app - and paid 59p. It is worth the money! It looks professional and is simple to use. A copycat free app probs wouldn't look as good or feel that safe. Even if I don't track my UCAS all the time, I can review my offers etc etc. So looks good to me. And yeah, Apple wouldn't have accepted it if it was dodgy. Such a good idea, wish I'd thought of it !!

    PS. I was just reading people's comments about the money and its 59p. Thats not even £1!!! You can't get anything for 59p anymore... You guys are so stingy!!!
    • 20 followers
    Offline

    ReputationRep:
    (Original post by becbec :))
    I've been so paranoid all night now. Especially when my friend said he wouldn't be surprised if someone logged on and withdrew my application.

    Thinking I may ask UCAS to change my details on Monday
    What!? :eyeball:
    Why would anybody log into your account and withdraw your offers :lolwut: I think you're more likely to be struck by lightning. Also if it did - by some miracle - happen, it wouldn't be anything that UCAS couldn't sort out if you rang them up soon afterwards.
    • 0 followers
    Offline

    ReputationRep:
    Any more people got opinions on this? Getting iPhone tomorrow!
    • 0 followers
    Offline

    ReputationRep:
    (Original post by binky12)
    Hi,

    I'm the developer for this application and I would like to clear up a few queries regarding this.
    1. The application is 59p to help make back the £59pa that apple charge for developers
    2. The application is only acts as an overlay over the UCAS system and only communicates with UCAS


    The application was written using a piece of software called Titanium Mobile which allows you to use javascript to write iphone applications. To show you that the app only communicates with UCAS, I have attached the source code to the login page below.

    Regards,

    Toby Hughes

    Code:
    window.onload = function()
    {
    Titanium.App.Properties.setString('cPassword','');
    // create controls
    var textInstance = Titanium.UI.createTextField({value:Titanium.App.Properties.getString('cPersonalId'),width:
    150,keyboardType:Titanium.UI.KEYBOARD_PHONE_PAD});
    var textInstance2 = Titanium.UI.createTextField({value:Titanium.App.Properties.getString('cUsername'),width:
    150});
    var textInstance3 = Titanium.UI.createTextField({value:'',width:
    150,passwordMask:true,returnKeyType:Titanium.UI.RETURNKEY_GO});
    textInstance.addEventListener('change',function(e){
    var tValue = e.value;
    tValue = tValue.replace(' ','');
    tValue = tValue.replace('-','');
    Titanium.App.Properties.setString('cPersonalId',tValue);
    });
    textInstance2.addEventListener('change',function(e){
    var tValue = e.value;
    tValue = tValue.replace(' ','');
    tValue = tValue.replace('-','');
    Titanium.App.Properties.setString('cUsername',tValue);
    });
    textInstance3.addEventListener('change',function(e){
    var tValue = e.value;
    Titanium.App.Properties.setString('cPassword',tValue);
    });
    textInstance3.addEventListener('return',function(e){
    validateTicket();
    });
    
    var b = Titanium.UI.createButton({
        systemButton:Titanium.UI.iPhone.SystemButton.ADD
    });
    //Titanium.UI.currentWindow.setRightNavButton(b);
    
    b.addEventListener('click',function(e)
    {
    validateTicket();
    });
    
    // create data array
    var inputData = [
    {title:'ID', input:textInstance},
    {title:'Username', input:textInstance2},
    {title:'Password', input:textInstance3}
    ];
    
    // create grouped section
    var inputSection = Titanium.UI.iPhone.createGroupedSection({
    header:'UCAS Track Login',
    footer:'Please do not enter dashes',
    type:'input',
    data:inputData
    });
    
    var buttonData = [
        {title:'Login'}
    ];
    
    var buttonSection = Titanium.UI.iPhone.createGroupedSection({footer:'', header:'', type:'button',data:buttonData});
    buttonSection.addEventListener('click',function(e)
    {
    validateTicket();
    });
    
    // create grouped view and add section to view
    groupedView = Titanium.UI.iPhone.createGroupedView();
    groupedView.addSection(inputSection);
    groupedView.addSection(buttonSection);
    
    // add and show view
    Titanium.UI.currentWindow.addView(groupedView);
    Titanium.UI.currentWindow.showView(groupedView);
    
    function validateTicket(){
    var uPersonalId=Titanium.App.Properties.getString('cPersonalId');
    var uUsername=Titanium.App.Properties.getString('cUsername');
    var uPassword=Titanium.App.Properties.getString('cPassword');
    var a = Titanium.UI.createAlertDialog();
    a.setTitle('Login');
    a.setButtonNames(['OK']);
    a.setMessage("appNo="+uPersonalId+"&username="+uUsername+"&appPassword="+uPassword+"&action=login"); 
    //a.show();
    
    //Now get the events data from the page
    var xhr = Titanium.Network.createHTTPClient();
    xhr.setRequestHeader("Cookie","");
    xhr.onload = function()
    {
    var a = Titanium.UI.createAlertDialog();
    a.setTitle('Login');
    a.setButtonNames(['OK']);
    a.setMessage(xhr.getResponseHeader("Content-Location")); 
    //a.show();
    Titanium.App.Properties.setString('cCookie',xhr.getResponseHeader("Set-Cookie"));
    if (xhr.getResponseHeader("Content-Location")=="http://track.ucas.com:12508/ucastrackLogin.jsp")
    {
    var a = Titanium.UI.createAlertDialog();
    a.setTitle('Login');
    a.setButtonNames(['OK']);
    a.setMessage('Invalid Login Details'); 
    a.show();
    }
    else
    {
    var win = Titanium.UI.createWindow({url: 'track.html'});
    win.open({animated:true});
    Titanium.UI.currentWindow.close();
    }
    };
    xhr.open("POST","https://track.ucas.com/ucastrack/login?ac=2427581&bc=1261433620877");
    xhr.send("appNo="+uPersonalId+"&username="+uUsername+"&appPassword="+uPassword+"&action=login");
    
    }
    
    	
    };
    wow that's cool
    do you want to teach me how to make iphone apps?
    • 5 followers
    Offline

    ReputationRep:
    (Original post by binky12)
    Hi,

    I'm the developer for this application and I would like to clear up a few queries regarding this.
    1. The application is 59p to help make back the £59pa that apple charge for developers
    2. The application is only acts as an overlay over the UCAS system and only communicates with UCAS


    The application was written using a piece of software called Titanium Mobile which allows you to use javascript to write iphone applications. To show you that the app only communicates with UCAS, I have attached the source code to the login page below.

    Regards,

    Toby Hughes

    Code:
    window.onload = function()
    {
    Titanium.App.Properties.setString('cPassword','');
    // create controls
    var textInstance = Titanium.UI.createTextField({value:Titanium.App.Properties.getString('cPersonalId'),width:
    150,keyboardType:Titanium.UI.KEYBOARD_PHONE_PAD});
    var textInstance2 = Titanium.UI.createTextField({value:Titanium.App.Properties.getString('cUsername'),width:
    150});
    var textInstance3 = Titanium.UI.createTextField({value:'',width:
    150,passwordMask:true,returnKeyType:Titanium.UI.RETURNKEY_GO});
    textInstance.addEventListener('change',function(e){
    var tValue = e.value;
    tValue = tValue.replace(' ','');
    tValue = tValue.replace('-','');
    Titanium.App.Properties.setString('cPersonalId',tValue);
    });
    textInstance2.addEventListener('change',function(e){
    var tValue = e.value;
    tValue = tValue.replace(' ','');
    tValue = tValue.replace('-','');
    Titanium.App.Properties.setString('cUsername',tValue);
    });
    textInstance3.addEventListener('change',function(e){
    var tValue = e.value;
    Titanium.App.Properties.setString('cPassword',tValue);
    });
    textInstance3.addEventListener('return',function(e){
    validateTicket();
    });
    
    var b = Titanium.UI.createButton({
        systemButton:Titanium.UI.iPhone.SystemButton.ADD
    });
    //Titanium.UI.currentWindow.setRightNavButton(b);
    
    b.addEventListener('click',function(e)
    {
    validateTicket();
    });
    
    // create data array
    var inputData = [
    {title:'ID', input:textInstance},
    {title:'Username', input:textInstance2},
    {title:'Password', input:textInstance3}
    ];
    
    // create grouped section
    var inputSection = Titanium.UI.iPhone.createGroupedSection({
    header:'UCAS Track Login',
    footer:'Please do not enter dashes',
    type:'input',
    data:inputData
    });
    
    var buttonData = [
        {title:'Login'}
    ];
    
    var buttonSection = Titanium.UI.iPhone.createGroupedSection({footer:'', header:'', type:'button',data:buttonData});
    buttonSection.addEventListener('click',function(e)
    {
    validateTicket();
    });
    
    // create grouped view and add section to view
    groupedView = Titanium.UI.iPhone.createGroupedView();
    groupedView.addSection(inputSection);
    groupedView.addSection(buttonSection);
    
    // add and show view
    Titanium.UI.currentWindow.addView(groupedView);
    Titanium.UI.currentWindow.showView(groupedView);
    
    function validateTicket(){
    var uPersonalId=Titanium.App.Properties.getString('cPersonalId');
    var uUsername=Titanium.App.Properties.getString('cUsername');
    var uPassword=Titanium.App.Properties.getString('cPassword');
    var a = Titanium.UI.createAlertDialog();
    a.setTitle('Login');
    a.setButtonNames(['OK']);
    a.setMessage("appNo="+uPersonalId+"&username="+uUsername+"&appPassword="+uPassword+"&action=login"); 
    //a.show();
    
    //Now get the events data from the page
    var xhr = Titanium.Network.createHTTPClient();
    xhr.setRequestHeader("Cookie","");
    xhr.onload = function()
    {
    var a = Titanium.UI.createAlertDialog();
    a.setTitle('Login');
    a.setButtonNames(['OK']);
    a.setMessage(xhr.getResponseHeader("Content-Location")); 
    //a.show();
    Titanium.App.Properties.setString('cCookie',xhr.getResponseHeader("Set-Cookie"));
    if (xhr.getResponseHeader("Content-Location")=="http://track.ucas.com:12508/ucastrackLogin.jsp")
    {
    var a = Titanium.UI.createAlertDialog();
    a.setTitle('Login');
    a.setButtonNames(['OK']);
    a.setMessage('Invalid Login Details'); 
    a.show();
    }
    else
    {
    var win = Titanium.UI.createWindow({url: 'track.html'});
    win.open({animated:true});
    Titanium.UI.currentWindow.close();
    }
    };
    xhr.open("POST","https://track.ucas.com/ucastrack/login?ac=2427581&bc=1261433620877");
    xhr.send("appNo="+uPersonalId+"&username="+uUsername+"&appPassword="+uPassword+"&action=login");
    
    }
    
    	
    };
    why does it not work anymore then? rip off
    • 0 followers
    Offline

    ReputationRep:
    (Original post by thecdon)
    why does it not work anymore then? rip off
    Mine works fine!
    • 45 followers
    Offline

    ReputationRep:
    Oh, this is brilliant. :laugh:
    • 6 followers
    Offline

    ReputationRep:
    Guys just use the official UCAS app now.
    • 0 followers
    Offline

    ReputationRep:
    you need to have updated to iOS4
    • 0 followers
    Offline

    ReputationRep:
    (Original post by thecdon)
    why does it not work anymore then? rip off
    i guess it isn't working because UCAS are updating everyone's offers and track on the web is froze. It wasn't working before the scottish results either.
    • 5 followers
    Offline

    ReputationRep:
    (Original post by tarwe)
    i guess it isn't working because UCAS are updating everyone's offers and track on the web is froze. It wasn't working before the scottish results either.
    nah this happened about 2 months ago to both me and my friend. The app wouldn't load, just crashed and then like the next day it was deleted from our iphones!

    My iphones broken now anyways so im using a rubbish nokia! will just have to use the ucas track on a pc like normal people

Reply

Submit reply

Register

Thanks for posting! You just need to create an account in order to submit the post
  1. this can't be left blank
    that username has been taken, please choose another Forgotten your password?
  2. this can't be left blank
    this email is already registered. Forgotten your password?
  3. this can't be left blank

    6 characters or longer with both numbers and letters is safer

  4. this can't be left empty
    your full birthday is required
  1. By joining you agree to our Ts and Cs, privacy policy and site rules

  2. Slide to join now Processing…

Updated: August 17, 2010
New on TSR

The future of apprenticeships

Join the discussion in the apprenticeships hub!

Article updates
Reputation gems: You get these gems as you gain rep from other members for making good contributions and giving helpful advice.