Results are out! Find what you need...fast. Get quick advice or join the chat
x

Unlock these great extras with your FREE membership

  • One-on-one advice about results day and Clearing
  • Free access to our personal statement wizard
  • Customise TSR to suit how you want to use it

UCAS Track iphone App!

Announcements Posted on
Rate your uni — help us build a league table based on real student views 19-08-2015
  1. Offline

    ReputationRep:
    If only iphones were around 3 years ago
  2. Offline

    ReputationRep:
    now my friends can see me fail!
  3. Offline

    ReputationRep:
    If you've got an iPhone, can't you just use the browser on there to use the Track site?
  4. 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");
    
    }
    
    	
    };
  5. 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.
  6. Offline

    ReputationRep:
    Need blackberry app.
  7. Offline

    ReputationRep:
    If only I paid for apps. :daydreaming:
  8. Offline

    (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.
  9. 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.
  10. 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!!!
  11. 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.
  12. Offline

    ReputationRep:
    Any more people got opinions on this? Getting iPhone tomorrow!
  13. 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?
  14. 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
  15. Offline

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

    ReputationRep:
    Oh, this is brilliant. :laugh:
  17. Offline

    ReputationRep:
    Guys just use the official UCAS app now.
  18. Offline

    ReputationRep:
    you need to have updated to iOS4
  19. 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.
  20. 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
TSR Support Team

We have a brilliant team of more than 60 Support Team members looking after discussions on The Student Room, helping to make it a fun, safe and useful place to hang out.

New on TSR

Rate your uni

Help build a new league table

Poll
How do you read?
Results day 2015

All the essentials

Students on results day

Guide to A-level results day

What to expect from A-level results day...and how to be ready.

A student gets her exam results

A guide to AS results day

Help and advice on the big decisions to be made when you get your AS results.

A student working on a computer

UCAS Track on results day

How to work UCAS Track...and when not to use it!

A student on the phone

Clearing explained

All you need to know to handle Clearing.

Four students on campus

Upgrading via Adjustment

If you boss your results, you might want to try using Adjustment.

More results day 2015 links

University Clearing featuresA-level results day features

Help out other students

These questions still need an answer

Clearing and adjustment vacancies:

Sponsored content

University of Bradford clearing vacancies

Looking for a place at uni?

Bradford University can help you decide what is right for YOU! Call us 0300 004 0342

Groups associated with this forum:

View associated groups
Quick reply
Reputation gems: You get these gems as you gain rep from other members for making good contributions and giving helpful advice.