Monthly Archives: June 2013

Brief design guidelines for iOS 7

I have read new apple documents considering IOS7 application design. And here is very short list of features:

Main key features:

  • Full screen (Use whole screen of device).
  • Minimalism. No heavy shadows, bezels, gradients, etc. Borderless buttons.
  • A lot of white space.
  • Key color.
  • Single font (but dynamic size).
  • Minimalistic light single-color icons.
  • Dynamic layout with no fixed hardcoded sizes.

Specific Apple features:

  • Translucent elements hint content behind them. And here they mean specific blurred gradients.
  • Control center could be swiped from bottom of screen.

As you see – only last block of features is related to actual new apple platform. First list can be easily applied to Android or WP. So now apple tries to reach main market tendency to minimalistic design. Not something new. I wonder for how long this fashion will last, but at the moment that style is new standard across all mobile devices.

 

This brief is based on “Designing for iOS 7” and “iOS 7 UI Transition Guide” official documents from apple development  site.

Beal prize – first approach

May be you already heard that so called Beal Prize was increased to 1.000.000$ (http://ns3.ams.org/bealprize.html). So if you can find positive integers A^x+B^y=C^z where x,y,z > 2 and A,B,C dont have common factor, you can get a lot of cash. As you can see its not a complication to write a piece of code to check some range of numbers, or generator to generate some lucky numbers. Its officially checked only in range where all numbers are less than 1000.

So i decided to try my luck.

As first approach i decided to generate a lot of prime numbers (15.000.000 for start). This is C++ code for relatively fast generation of prime numbers:

// Primes

int MAXPRIME = 15000000;

unsigned long * primeNumbers = new unsigned long[MAXPRIME];

LOG << “Computing “ << MAXPRIME << ” prime numbers…” << NL;

LOG.startProfile();

{

primeNumbers[0] = 2;

primeNumbers[1] = 3;

long x = 3;

long sqrtIndex = 0;

for (int i = 2; i < MAXPRIME; i++)

{

bool ok = false;

while (!ok)

{

x += 2;

if ((x % 6 == 1) || (x % 6 == 5))

{

ok = true;

while (primeNumbers[sqrtIndex] * primeNumbers[sqrtIndex] < x)

sqrtIndex++;

 

for (int j = 0; j <= sqrtIndex; j++)

if (x % primeNumbers[j] == 0)

{ ok = false; break; }

}

}

primeNumbers[i] = x;

if (i % 100000 == 0)

LOG << i << ” [ “ << primeNumbers[i] << ” ] “ << NL;

}

}

LOG.profile(“Computing “ + SS::toString(MAXPRIME) + ” prime numbers was completed”);

To check Beal conjecture we need support of very long integers for C++. I have my own implementation, but you can use any decent library.As first straight-forward approach i decided to do in endless cycle the following (until i get lucky numbers):

  • Get two random prime numbers from pregenerated array.
  • Generate random x,y,z within reasonable range.
  • Compute S=A^x+B^Y
  • Compute the most close C – which gives (2*C)^z ~ S (i have used simple method of bisection).
  • If (2*C)^z == S break and report success.

I got yet no success, and some mathematicians tell that conjecture is probably true. But still why not to try to search if it is so easy.